Funkcia array_walk_recursive
Funkcia array_walk_recursive aplikuje zadanú
funkciu na všetky prvky viacrozmerného poľa.
Vracia true v prípade úspešného dokončenia
alebo false v prípade vzniku chyby.
Prvým parametrom funkcia
prijíma pole, a druhým - callback.
Do callback sa odovzdávajú dva parametre. Ako prvý parameter ide hodnota prvku poľa, a ako druhý - kľúč.
Odovzdané pole vo funkcii sa samo o sebe nemení. Ale toho je možné dosiahnuť pomocou odovzdania prvku odkazom.
Syntax
array_walk_recursive(array|object &$array, callable $callback, mixed $arg = null): bool
Príklad
Prejdime viacrozmerné pole a vypíšme jeho kľúče a prvky:
<?php
$arr = [
'a' => 1,
'b' => 2,
'c' => [
'd' => 3,
'e' => 4,
],
];
array_walk_recursive($arr, function($elem, $key) {
echo $key . ' ' . $elem . '<br>';
});
?>
Výsledok vykonania kódu:
'a 1'
'b 2'
'd 3'
'e 4'
Príklad
Prejdime pole a umocnime jeho prvky na druhú:
<?php
$arr = [
'a' => 1,
'b' => 2,
'c' => [
'd' => 3,
'e' => 4,
],
];
array_walk_recursive($arr, function(&$elem, $key) {
$elem = $elem ** 2;
});
var_dump($arr);
?>
Výsledok vykonania kódu:
[
'a' => 1,
'b' => 4,
'c' => [
'd' => 9,
'e' => 16,
],
];
Pozrite tiež
-
funkciu
array_walk,
ktorá volá funkciu pre prvky poľa -
funkciu
array_map,
ktorá aplikuje funkciu na prvky poľa -
funkciu
array_filter,
ktorá filtruje pole -
funkciu
array_reduce,
ktorá redukuje pole