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

phparray_reduce(array $array, callable $callback, mixed $initial = null): mixed

Példa

Határozzuk meg a tömb elemeinek összegét:

php<?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:

php15

Lásd még

  • az array_map függvényt,
    amely függvényt alkalmaz a tömb elemeire
  • az array_walk függvényt,
    amely függvényt hív meg a tömb elemeire
  • az array_filter függvényt,
    amely szűri a tömböt
  • az array_walk_recursive függvényt,
    amely rekurzívan hív meg függvényt a tömb elemeire