Funktion array_reduce
Die Funktion array_reduce reduziert (faltet)
ein Array auf einen einzelnen Wert unter Verwendung eines Callbacks.
Im ersten Parameter akzeptiert die Funktion ein Array, im zweiten - den Callback, der nacheinander auf jedes Element des Arrays angewendet wird.
Im dritten optionalen Parameter
wird der Startwert übergeben, mit dem
die Reduzierung des Arrays beginnt.
Standardmäßig hat dieser Parameter
den Wert null.
Die Callback-Funktion erhält zwei Parameter. Der erste Parameter enthält den Ergebniswert aus der vorherigen Iteration. Im Falle der ersten Iteration enthält er den Wert des dritten Parameters.
Und der zweite Parameter des Callbacks enthält das aktuelle Element des Arrays.
Der Callback wird nacheinander auf jedes Element des Arrays angewendet. Der Wert, den der Callback in der aktuellen Iteration zurückgibt, gelangt in den ersten Parameter des Callbacks in der nächsten Iteration.
Auf diese Weise wird der Callback sequentiell
auf jedes Element des Arrays der Reihe nach angewendet,
und es entsteht letztendlich ein bestimmter
Wert. Dieser Wert ist das Ergebnis
der Arbeit der Funktion array_reduce.
Syntax
array_reduce(array $array, callable $callback, mixed $initial = null): mixed
Beispiel
Lassen Sie uns die Summe der Elemente des Arrays finden:
<?php
$arr = [1, 2, 3, 4, 5];
function func($prev, $elem)
{
return $prev + $elem;
}
$res = array_reduce($arr, 'func', 0);
echo $res;
?>
Ergebnis der Codeausführung:
15
Siehe auch
-
die Funktion
array_map,
die eine Funktion auf die Elemente eines Arrays anwendet -
die Funktion
array_walk,
die eine Funktion für die Elemente eines Arrays aufruft -
die Funktion
array_filter,
die ein Array filtert -
die Funktion
array_walk_recursive,
die rekursiv eine Funktion für die Elemente eines Arrays aufruft