Functie array_reduce
De functie array_reduce reduceert
een array tot een enkele waarde met behulp van een callback.
In de eerste parameter accepteert de functie een array, in de tweede - een callback die achtereenvolgens op elk element van de array wordt toegepast.
In de derde optionele parameter
staat de beginwaarde waarop de
reductie van de array start.
Standaard heeft deze parameter de
waarde null.
De callbackfunctie ontvangt als parameters twee waarden. De eerste waarde bevat de resultaatwaarde van de vorige iteratie. Bij de eerste iteratie bevat deze de waarde van de derde parameter.
En de tweede waarde van de callback bevat het huidige element van de array.
De callback wordt achtereenvolgens op elk element van de array toegepast. Wat de callback bij de huidige iteratie teruggeeft, komt in de eerste parameter van de callback bij de volgende iteratie.
Zo wordt de callback opeenvolgend
op elk element van de array toegepast
en uiteindelijk ontstaat er een
waarde. Deze waarde is het resultaat
van de functie array_reduce.
Syntaxis
array_reduce(array $array, callable $callback, mixed $initial = null): mixed
Voorbeeld
Laten we de som van de array-elementen vinden:
<?php
$arr = [1, 2, 3, 4, 5];
function func($prev, $elem)
{
return $prev + $elem;
}
$res = array_reduce($arr, 'func', 0);
echo $res;
?>
Resultaat van de code-uitvoering:
15
Zie ook
-
functie
array_map,
die een functie toepast op elementen van een array -
functie
array_walk,
die een functie aanroept voor elementen van een array -
functie
array_filter,
die een array filtert -
functie
array_walk_recursive,
die recursief een functie aanroept voor elementen van een array