RSS

   
1. Введение
2. Инсталяция
3. Конфигурирование
4. Безопасность
5. Базовый синтаксис
6. Типы
7. Переменные
8. Константы
9. Выражения
10. Операции
11. Структуры управления
12. Функции
13. Классы и Объекты
14. Ссылки. Разъяснение.
15. Обработка Ошибок
16. Создание изображений и манипуляции с ними
17. HTTP-аутентификация в PHP
18. Куки
19. Обработка загрузки файлов
20. Использование удалённых файлов
21. Обслуживание соединений
22. Постоянные соединения с базами данных
23. Безопасный режим
24. Использование PHP из командной строки
Консультация юриста
Ваш регион:
Ваше имя:

Ваш телефон

  (можно сотовый)

Ваш вопрос (можно кратко)


 

Учебник РНР
Назад Вперёд

array_walk

(PHP 3>= 3.0.3, PHP 4)

array_walk - применяет пользовательскую функцию к каждому члену массива.

Описание

int array_walk (array array, string func [, mixed userdata])

Применяет определённую пользователем функцию func к каждому элементу массива array.
Функции func значение элемента массива будет передано как первый параметр, а ключ - как второй параметр. Если userdata предоставлен, он будет передан как третий параметр в пользовательскую функцию.
func
обязана быть определяемой пользователем функцией и не может быть встроенной функцией PHP. Таким образом, вы не можете использовать array_walk() непосредственно с str2lower(), вы обязаны сначала построит с ней пользовательскую функцию, а затем передать эту функцию как аргумент.

Примечание: вместо имени функции может быть предоставлен также массив, содержащий ссылку на объект и имя метода.

Если func требует более двух или трёх аргументов, в зависимости от userdata, будет генерироваться предупреждение каждый раз, когда array_walk() вызывает func. Эти предупреждения могут подавляться путём присоединения знака '@' перед вызовом array_walk() или путем использования error_reporting().

Примечание: если func должна работать с реальными значениями массива, специфицируйте, что первый параметр для func должен передаваться по ссылке. Тогда любые изменения, сделанные в этих элементах, будут сделаны в самом массиве.

Модификация массива из func может дать непредсказуемое поведение.

Примечание: передача ключа и userdata в func была введена в версии 4.0.

В PHP 4 reset() должна вызываться по мере необходимости, поскольку array_walk() не восстанавливает по умолчанию значения массива.

Пользователи не могут самостоятельно изменять массив из callback-функции, например, добавлять/удалять элементы, unset массив, к которому array_walk() применяется. Если массив изменяется, поведение функции не определено.

Пример 1. array_walk()
$fruits = array ("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
function test_alter (&$item1, $key, $prefix) {
    $item1 = "$prefix: $item1";
}
function test_print ($item2, $key) {
    echo "$key. $item2<br>\n";
}
echo "Before ...:\n";
array_walk ($fruits, 'test_print');
reset ($fruits);
array_walk ($fruits, 'test_alter', 'fruit');
echo "... and after:\n";
reset ($fruits);
array_walk ($fruits, 'test_print');

Вывод программы:

Before ...:
d. lemon
a. orange
b. banana
c. apple
... and after:
d. fruit: lemon
a. fruit: orange
b. fruit: banana
c. fruit: apple

См. также each() и list().


Назад Оглавление Вперёд
array_values Вверх array

po gonn © 2005 "JULI'S BEEHIVE"