Функция array_walk_recursive
Функция array_walk_recursive
применяет заданную
функцию ко всем элементам многомерного массива.
Возвращает true
в случае успешного завершения
или false
в случае возникновения ошибки
Первым параметром функция
принимает массив, а вторым - коллбэк.
В коллбэк передаются два параметра. В качестве первого параметра идет значение элемента массива, а в качестве второго - ключ.
Переданный в функцию массив сам по себе не изменяется. Но этого можно добиться с помощью передачи элемента по ссылке.
Синтаксис
array_walk_recursive(array|object &$array, callable $callback, mixed $arg = null): bool
Пример
Давайте переберем многомерного массив и выведем его ключи и элементы:
<?php
$arr = [
'a' => 1,
'b' => 2,
'c' => [
'd' => 3,
'e' => 4,
],
];
array_walk_recursive($arr, function($elem, $key) {
echo $key . ' ' . $elem . '<br>';
});
?>
Результат выполнения кода:
'a 1'
'b 2'
'd 3'
'e 4'
Пример
Давайте переберем массив и возведем его элементы в квадрат:
<?php
$arr = [
'a' => 1,
'b' => 2,
'c' => [
'd' => 3,
'e' => 4,
],
];
array_walk_recursive($arr, function(&$elem, $key) {
$elem = $elem ** 2;
});
var_dump($arr);
?>
Результат выполнения кода:
[
'a' => 1,
'b' => 4,
'c' => [
'd' => 9,
'e' => 16,
],
];
Смотрите также
-
функцию
array_walk
,
которая вызывает функцию для элементов массива -
функцию
array_map
,
которая применяет функцию к элементам массива -
функцию
array_filter
,
которая фильтрует массив -
функцию
array_reduce
,
которая сворачивает массив