Funkcija array_reduce
Funkcija array_reduce zviže (reducira)
polje na eno vrednost z uporabo povratnega klica.
V prvem parametru funkcija sprejme polje, v drugem - povratni klic, ki se bo zaporedoma uporabljal za vsak element polja.
V tretjem neobveznem parametru
je začetna vrednost, s katere
se bo začelo zvitje polja.
Privzeto ima ta parameter
vrednost null.
Funkcija-povratni klic prejme z parametri dve vrednosti. Prva vrednost vsebuje rezultat prejšnje iteracije. V primeru prve iteracije vsebuje vrednost tretjega parametra.
Druga vrednost povratnega klica vsebuje trenutni element polja.
Povratni klic se bo zaporedoma uporabljal za vsak element polja. To, kar vrne povratni klic v trenutni iteraciji, bo prišlo v prvi parameter povratnega klica v naslednji iteraciji.
Tako se bo povratni klic zaporedoma
uporabil za vsak element polja
po vrsti in na koncu bo nastala neka
vrednost. Ta vrednost bo rezultat
delovanja funkcije array_reduce.
Sintaksa
array_reduce(array $array, callable $callback, mixed $initial = null): mixed
Primer
Poiščimo vsoto elementov polja:
<?php
$arr = [1, 2, 3, 4, 5];
function func($prev, $elem)
{
return $prev + $elem;
}
$res = array_reduce($arr, 'func', 0);
echo $res;
?>
Rezultat izvajanja kode:
15
Glejte tudi
-
funkcijo
array_map,
ki aplicira funkcijo na elemente polja -
funkcijo
array_walk,
ki kliče funkcijo za elemente polja -
funkcijo
array_filter,
ki filtrira polje -
funkcijo
array_walk_recursive,
ki rekurzivno kliče funkcijo za elemente polja