Funksioni array_reduce
Funksioni array_reduce redukton (zvogëlon)
një varg në një vlerë të vetme, duke përdorur një callback.
Në parametrin e parë funksioni pranon një varg, në të dytin - një callback, i cili do të aplikohet në mënyrë të njëpasnjëshme për çdo element të vargut.
Në parametrin e tretë opsional
do të jetë vlera fillestare, nga e cila
do të fillojë reduktimi i vargut.
Si parazgjedhje ky parametër ka
vlerën null.
Funksioni-callback si parametra merr dy vlera. Vlera e parë përmban vlerën rezultante nga përsëritja e mëparshme. Në rastin e përsëritjes së parë përmban vlerën e parametrit të tretë.
Ndërsa vlera e dytë e callback përmban elementin aktual të vargut.
Callback do të aplikohet në mënyrë të njëpasnjëshme për çdo element të vargut. Ajo që kthehet në përsëritjen aktuale nga callback, do të shkojë në parametrin e parë të callback në përsëritjen tjetër.
Kështu, callback do të aplikohet në mënyrë sekuenciale
për çdo element të vargut
në mënyrë të njëpasnjëshme dhe si rezultat do të fitohet një
vlerë. Kjo vlerë do të jetë rezultati
i punës së funksionit array_reduce.
Sintaksa
array_reduce(array $array, callable $callback, mixed $initial = null): mixed
Shembull
Le të gjejmë shumën e elementeve të vargut:
<?php
$arr = [1, 2, 3, 4, 5];
function func($prev, $elem)
{
return $prev + $elem;
}
$res = array_reduce($arr, 'func', 0);
echo $res;
?>
Rezultati i ekzekutimit të kodit:
15
Shihni gjithashtu
-
funksionin
array_map,
i cili aplikon një funksion për elementët e vargut -
funksionin
array_walk,
i cili thërret një funksion për elementët e vargut -
funksionin
array_filter,
i cili filtron një varg -
funksionin
array_walk_recursive,
i cili thërret në mënyrë rekursive një funksion për elementët e vargut