array_walk Применяет заданную пользователем функцию к каждому элементу массива &reftitle.description; boolarray_walk arrayobjectarray callablecallback mixedarg&null; Применяет пользовательскую функцию callback к каждому элементу массива array. array_walk не подвержена влиянию внутреннего указателя массива array. array_walk обойдёт все элементы массива независимо от позиции указателя. &reftitle.parameters; array Входной массив. callback Обычно функция callback принимает два параметра. В качестве первого параметра идёт значение элемента массива array, а ключ - в качестве второго. Если требуется, чтобы функция callback изменила значения в массиве, определите первый параметр callback как ссылку. Тогда все изменения будут применены к элементам оригинального массива. Множество встроенных функций (например, strtolower) выводят предупреждение, если им передано больше параметров, чем они ожидают, или которые не могут непосредственно использоваться в callback. Потенциально изменены могут быть только значения массива array; структура самого массива не может быть изменена, то есть нельзя добавить, удалить или поменять порядок элементов. Если callback-функция не соответствует этому требованию, поведение данной функции станет неопределённым и непредсказуемым. arg Если указан необязательный параметр arg, он будет передан в качестве третьего параметра в callback-функцию callback. &reftitle.returnvalues; Возвращает &true; &reftitle.errors; Начиная с PHP 7.1.0, в случае если callback-функция требует больше двух параметров (значение и ключ элемента массива) или более 3 параметров, если также передаётся параметр arg, будет выброшено исключение ArgumentCountError. Ранее в таком случае при каждом вызове callback, генерировалась ошибка уровня E_WARNING. &reftitle.changelog; &Version; &Description; 8.0.0 Если параметр callback ожидает, что значение второго или третьего параметра будет передано по ссылке, функция теперь выдаст ошибку уровня E_WARNING. &reftitle.examples; Пример использования <function>array_walk</function> "lemon", "a" => "orange", "b" => "banana", "c" => "apple"); function test_alter(&$item1, $key, $prefix) { $item1 = "$prefix: $item1"; } function test_print($item2, $key) { echo "$key. $item2\n"; } echo "До ...:\n"; array_walk($fruits, 'test_print'); array_walk($fruits, 'test_alter', 'fruit'); echo "... и после:\n"; array_walk($fruits, 'test_print'); ?> ]]> &example.outputs; Пример использования <function>array_walk</function> с анонимной функцией {$value}\n"; }); ?> ]]> &example.outputs; a 1 => b 2 => c ]]> &reftitle.seealso; array_walk_recursive iterator_apply list each call_user_func_array array_map &foreach;