ВНИМАНИЕ: Запись на курсы по HTML, CSS, JavaScript, PHP, Python, React, Vue, Laravel и другим фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
182 of 410 menu
Хочешь читать code.mu на своем родном языке? Помоги с переводом! Переведем мы сами, тебе нужно указать на ошибки перевода:) Оставляй заявку ->

Функция 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,
    которая сворачивает массив
byenru