Funkcija array_reduce
Funkcija array_reduce redukuje (savija)
niz u jednu vrednost koristeći callback funkciju.
U prvom parametru funkcija prima niz, u drugom - callback funkciju, koja će se redom primenjivati na svaki element niza.
U trećem opcionom parametru
je početna vrednost, od koje
će početi redukcija niza.
Podrazumevano, ovaj parametar ima
vrednost null.
Callback funkcija parametrima prima dve vrednosti. Prva vrednost sadrži rezultujuću vrednost iz prethodne iteracije. U slučaju prve iteracije sadrži vrednost trećeg parametra.
A druga vrednost callback funkcije sadrži trenutni element niza.
Callback funkcija će se redom primenjivati na svaki element niza. Ono što callback vrati u trenutnoj iteraciji, doći će u prvi parametar callback funkcije u narednoj iteraciji.
Tako će se callback funkcija sekvencijalno
primeniti na svaki element niza
redom i na kraju će se dobiti neka
vrednost. Ta vrednost će biti rezultat
rada funkcije array_reduce.
Sintaksa
array_reduce(array $array, callable $callback, mixed $initial = null): mixed
Primer
Hajde da nađemo zbir elemenata niza:
<?php
$arr = [1, 2, 3, 4, 5];
function func($prev, $elem)
{
return $prev + $elem;
}
$res = array_reduce($arr, 'func', 0);
echo $res;
?>
Rezultat izvršavanja koda:
15
Pogledajte takođe
-
funkciju
array_map,
koja primenjuje funkciju na elementima niza -
funkciju
array_walk,
koja poziva funkciju za elemente niza -
funkciju
array_filter,
koja filtrira niz -
funkciju
array_walk_recursive,
koja rekurzivno poziva funkciju za elemente niza