Функција array_walk_recursive
Функција array_walk_recursive примењује задату
функцију на све елементе вишедимензионалног низа.
Враћа true у случају успешног завршетка
или false у случају појаве грешке
Првим параметром функција
прихвата низ, а другим - колбек (callback).
У колбек се прослеђују два параметра. Као први параметр иде вредност елемента низа, а као други - кључ.
Прослеђени у функцију низ сам по себи се не мења. Али то се може постићи помоћу прослеђивања елемента пo референци.
Синтакса
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,
која редукује (савија) низ