НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
182 of 410 menu

Функция 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,
    которая сворачивает массив
Русский
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить