array_walk_recursive

(PHP 5, PHP 7, PHP 8)

array_walk_recursiveРекурсивно применяет пользовательскую функцию к каждому элементу массива

Описание

array_walk_recursive(array|object &$array, callable $callback, mixed $arg = null): true

Функция применяет пользовательскую callback-функцию к каждому элементу массива array. Функция обрабатывает каждый элемент многомерного массива.

Список параметров

array

Входной массив.

callback

Обычно callback-функция принимает два аргумента. Первым — значение элемента массива array, а вторым — ключ или индекс элемента.

Замечание:

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

arg

Необязательный параметр arg, передаётся в callback-функцию как третий аргумент, если указали.

Возвращаемые значения

Функция возвращает логическое значение true.

Список изменений

Версия Описание
8.2.0 Значение возврата теперь принадлежит типу true; раньше значение принадлежало типу bool.

Примеры

Пример #1 Пример использования функции array_walk_recursive()

<?php

$sweet
= array('a' => 'яблоко', 'b' => 'банан');
$fruits = array('sweet' => $sweet, 'sour' => 'лимон');

function
test_print($item, $key)
{
echo
"Ключ '$key' содержит значение: $item\n";
}

array_walk_recursive($fruits, 'test_print');

?>

Результат выполнения приведённого примера:

Ключ 'a' содержит значение: яблоко
Ключ 'b' содержит значение: банан
Ключ 'sour' содержит значение: лимон

Обратите внимание, что функция обратного вызова не выводит ключ sweet. Ключи с array-значением не передаются в функцию обратного вызова.

Смотрите также

  • array_walk() - Применяет пользовательскую функцию к каждому элементу массива