182 of 410 menu

Функция array_walk_recursive

Функцията array_walk_recursive прилага зададена функция към всички елементи на многомерен масив. Връща true при успешно завършване или false при възникване на грешка. Първият параметър на функцията приема масив, а вторият - callback функция.

В callback функцията се предават два параметъра. Като първи параметър се подава стойността на елемента от масива, а като втори - ключът.

Подаденият във функцията масив сам по себе си не се променя. Но това може да се постигне чото предаване на елемента по референция.

Синтаксис

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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне