array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.array-walk-recursive.php', 1 => 'array_walk_recursive', ), 'up' => array ( 0 => 'ref.array.php', 1 => 'Функции для работы с массивами', ), 'prev' => array ( 0 => 'function.array-values.php', 1 => 'array_values', ), 'next' => array ( 0 => 'function.array-walk.php', 1 => 'array_walk', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/array/functions/array-walk-recursive.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5, PHP 7, PHP 8)
array_walk_recursive — Рекурсивно применяет пользовательскую функцию к каждому элементу массива
Применяет пользовательскую функцию callback
к каждому
элементу массива array
. Функция обрабатывает
каждый элемент многомерного массива.
array
Входной массив.
callback
Обычно, callback
принимает два параметра.
Первым параметром является значение элемента массива array
, а
вторым - его ключ.
Замечание:
Если требуется, чтобы функция
callback
изменила значения в массиве, определите первый параметрcallback
как ссылку. Тогда все изменения будут применены к элементам массива.
arg
Если указан необязательный параметр arg
,
то он будет передан третьим параметром функции callback
.
Возвращает true
в случае успешного выполнения или false
, если возникла ошибка.
Пример #1 Пример использования array_walk_recursive()
<?php
$sweet = array('a' => 'apple', 'b' => 'banana');
$fruits = array('sweet' => $sweet, 'sour' => 'lemon');
function test_print($item, $key)
{
echo "$key содержит $item\n";
}
array_walk_recursive($fruits, 'test_print');
?>
Результат выполнения приведённого примера:
a содержит apple b содержит banana sour содержит lemon
Обратите внимание, что ключ 'sweet
' никогда не отображается.
Любой ключ, содержащий значение типа array,
не будет передаваться в функцию.