Функција 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,
која ја намалува низата