array_reduce függvény
Az array_reduce függvény egy callback függvény segítségével
redukálja (összecsukja) a tömböt egyetlen értékké.
Az első paraméterben a függvény egy tömböt fogad, a másodikban - egy callback függvényt, amelyet sorban alkalmazni fog a tömb minden elemére.
A harmadik, opcionális paraméterben
adható meg a kezdőérték, amellyel
a tömb redukálása megkezdődik.
Alapértelmezetten ez a paraméter
null értékkel rendelkezik.
A callback függvény két paramétert kap. Az első érték tartalmazza az előző iteráció eredményét. Az első iteráció esetén pedig a harmadik paraméter értékét tartalmazza.
A callback függvény második értéke pedig tartalmazza a tömb aktuális elemét.
A callback függvényt sorban alkalmazzuk a tömb minden elemére. Az, amit a callback az aktuális iteráción visszaad, az kerül a callback függvény első paraméterébe a következő iteráción.
Így a callback függvény egymás után
alkalmazva lesz a tömb minden elemére
sorban, és végül egy érték keletkezik.
Ez az érték lesz az array_reduce
függvény visszatérési értéke.
Szintaxis
array_reduce(array $array, callable $callback, mixed $initial = null): mixed
Példa
Határozzuk meg a tömb elemeinek összegét:
<?php
$arr = [1, 2, 3, 4, 5];
function func($prev, $elem)
{
return $prev + $elem;
}
$res = array_reduce($arr, 'func', 0);
echo $res;
?>
A kód végrehajtásának eredménye:
15
Lásd még
-
az
array_mapfüggvényt,
amely függvényt alkalmaz a tömb elemeire -
az
array_walkfüggvényt,
amely függvényt hív meg a tömb elemeire -
az
array_filterfüggvényt,
amely szűri a tömböt -
az
array_walk_recursivefüggvényt,
amely rekurzívan hív meg függvényt a tömb elemeire