Funcția array_reduce
Funcția array_reduce reduce
un array la o singură valoare, folosind un callback.
În primul parametru funcția primește un array, în al doilea - callback-ul, care va fi aplicat pe rând fiecărui element al array-ului.
În al treilea parametru opțional
se va afla valoarea inițială, cu care
va începe reducerea array-ului.
Implicit acest parametru are
valoarea null.
Funcția-callback primește ca parametri două valori. Prima valoare conține valoarea rezultată din iterația precedentă. În cazul primei iterații conține valoarea parametrului al treilea.
Iar a doua valoare a callback-ului conține elementul curent al array-ului.
Callback-ul va fi aplicat pe rând fiecărui element al array-ului. Ceea ce va returna callback-ul în iterația curentă, va intra în primul parametru al callback-ului în iterația următoare.
Astfel, callback-ul se aplică succesiv
fiecărui element al array-ului
pe rând și în final se obține o
valoare. Această valoare va fi rezultatul
lucrului funcției array_reduce.
Sintaxă
array_reduce(array $array, callable $callback, mixed $initial = null): mixed
Exemplu
Să găsim suma elementelor array-ului:
<?php
$arr = [1, 2, 3, 4, 5];
function func($prev, $elem)
{
return $prev + $elem;
}
$res = array_reduce($arr, 'func', 0);
echo $res;
?>
Rezultatul executării codului:
15
Vedeți și
-
funcția
array_map,
care aplică o funcție elementelor array-ului -
funcția
array_walk,
care apelează o funcție pentru elementele array-ului -
funcția
array_filter,
care filtrează un array -
funcția
array_walk_recursive,
care apelează recursiv o funcție pentru elementele array-ului