Funkcija array_reduce
Funkcija array_reduce reducē
masīvu uz vienu vērtību, izmantojot atsauci.
Pirmajā parametrā funkcija pieņem masīvu, otrajā - atsauci, kas tiks pēc kārtas piemērota katram masīva elementam.
Trešajā neobligātajā parametrā
tiks sākotnējā vērtība, no kuras
sāksies masīva reducēšana.
Pēc noklusējuma šim parametram ir
vērtība null.
Funkcija-atsauce parametros saņem divas vērtības. Pirmā vērtība satur rezultējošo vērtību no iepriekšējās iterācijas. Pirmās iterācijas gadījumā satur vērtību trešā parametra.
Bet otrā atsauces vērtība satur pašreizējo masīva elementu.
Atsauce pēc kārtas tiks piemērota katram masīva elementam. Tas, ko atgriezīs pašreizējā iterācijā atsauce, nokļūs pirmajā atsauces parametrā nākamajā iterācijā.
Tādējādi atsauce secīgi
tiks piemērota katram masīva elementam
pēc kārtas un rezultātā iegūsies kāda
vērtība. Šī vērtība būs funkcijas
array_reduce rezultāts.
Sintakse
array_reduce(array $array, callable $callback, mixed $initial = null): mixed
Piemērs
Atradīsim masīva elementu summu:
<?php
$arr = [1, 2, 3, 4, 5];
function func($prev, $elem)
{
return $prev + $elem;
}
$res = array_reduce($arr, 'func', 0);
echo $res;
?>
Koda izpildes rezultāts:
15
Skatiet arī
-
funkciju
array_map,
kas piemēro funkciju masīva elementiem -
funkciju
array_walk,
kas izsauc funkciju masīva elementiem -
funkciju
array_filter,
kas filtrē masīvu -
funkciju
array_walk_recursive,
kas rekursīvi izsauc funkciju masīva elementiem