Funkce array_reduce
Funkce array_reduce redukuje
pole na jednu hodnotu pomocí callback funkce.
V prvním parametru funkce přijímá pole, ve druhém - callback, který bude postupně aplikován na každý prvek pole.
Ve třetím volitelném parametru
je počáteční hodnota, od které
začne redukce pole.
Ve výchozím nastavení má tento parametr
hodnotu null.
Callback funkce přijímá parametry dvě hodnoty. První hodnota obsahuje výslednou hodnotu z předchozí iterace. V případě první iterace obsahuje hodnotu třetího parametru.
A druhá hodnota callbacku obsahuje současný prvek pole.
Callback bude postupně aplikován na každý prvek pole. To, co vrátí v současné iteraci callback, se dostane do prvního parametru callbacku v další iteraci.
Takto se callback postupně
aplikuje na každý prvek pole
postupně a nakonec získáme určitou
hodnotu. Tato hodnota bude výsledkem
práce funkce array_reduce.
Syntaxe
array_reduce(array $array, callable $callback, mixed $initial = null): mixed
Příklad
Pojďme najít součet prvků pole:
<?php
$arr = [1, 2, 3, 4, 5];
function func($prev, $elem)
{
return $prev + $elem;
}
$res = array_reduce($arr, 'func', 0);
echo $res;
?>
Výsledek provedení kódu:
15
Podívejte se také na
-
funkci
array_map,
která aplikuje funkci na prvky pole -
funkci
array_walk,
která volá funkci pro prvky pole -
funkci
array_filter,
která filtruje pole -
funkci
array_walk_recursive,
která rekurzivně volá funkci pro prvky pole