Funktionen array_reduce
Funktionen array_reduce reducerar
en array till ett enda värde med hjälp av en callback.
I den första parametern tar funktionen en array, i den andra - en callback som kommer att tillämpas i tur och ordning på varje element i arrayen.
I den tredje valfria parametern
anges startvärdet från vilket
reduceringen av arrayen ska börja.
Som standard har denna parameter
värdet null.
Callback-funktionen tar emot två parametrar. Det första värdet innehåller resultatvärdet från föregående iteration. Vid den första iterationen innehåller det värdet från den tredje parametern.
Och det andra värdet i callback-funktionen innehåller det aktuella elementet i arrayen.
Callback-funktionen kommer att tillämpas i tur och ordning på varje element i arrayen. Det som returneras i den aktuella iterationen av callback-funktionen hamnar i den första parametern i callback-funktionen på nästa iteration.
På så sätt tillämpas callback-funktionen sekventiellt
på varje element i arrayen i tur och ordning och slutligen erhålls ett
värde. Detta värde blir resultatet
av funktionen array_reduce.
Syntax
array_reduce(array $array, callable $callback, mixed $initial = null): mixed
Exempel
Låt oss hitta summan av elementen i arrayen:
<?php
$arr = [1, 2, 3, 4, 5];
function func($prev, $elem)
{
return $prev + $elem;
}
$res = array_reduce($arr, 'func', 0);
echo $res;
?>
Resultatet av kodkörningen:
15
Se även
-
funktionen
array_map,
som tillämpar en funktion på element i en array -
funktionen
array_walk,
som anropar en funktion för element i en array -
funktionen
array_filter,
som filtrerar en array -
funktionen
array_walk_recursive,
som rekursivt anropar en funktion för element i en array