Funktio array_reduce
Funktio array_reduce redusoi
taulukon yhdeksi arvoksi käyttämällä callback-funktiota.
Ensimmäisenä parametrina funktio ottaa vastaan taulukon, toisena - callback-funktion, jota sovelletaan vuorotellen jokaiseen taulukon elementtiin.
Kolmannessa valinnaisessa parametrissa
on alkuarvo, josta
taulukon redusointi aloitetaan.
Oletusarvoisesti tämän parametrin
arvo on null.
Callback-funktio saa parametreina kaksi arvoa. Ensimmäinen arvo sisältää edellisen iteraation tuloksena saadun arvon. Ensimmäisellä iteraatiolla se sisältää kolmannen parametrin arvon.
Ja toinen callback-funktion arvo sisältää nykyisen taulukon elementin.
Callback-funktiota sovelletaan vuorotellen jokaiseen taulukon elementtiin. Se, mikä callback-funktio palauttaa nykyisellä iteraatiolla, päätyy callback-funktion ensimmäiseksi parametriksi seuraavalla iteraatiolla.
Näin callback-funktiota sovelletaan peräkkäin
jokaiseen taulukon elementtiin
vuorotellen ja lopulta saadaan jokin
arvo. Tämä arvo on funktion array_reduce
tulos.
Syntaksi
array_reduce(array $array, callable $callback, mixed $initial = null): mixed
Esimerkki
Etsitään taulukon elementtien summa:
<?php
$arr = [1, 2, 3, 4, 5];
function func($prev, $elem)
{
return $prev + $elem;
}
$res = array_reduce($arr, 'func', 0);
echo $res;
?>
Koodin suorituksen tulos:
15
Katso myös
-
funktion
array_map,
joka soveltaa funktiota taulukon elementteihin -
funktion
array_walk,
joka kutsuu funktiota taulukon elementeille -
funktion
array_filter,
joka suodattaa taulukon -
funktion
array_walk_recursive,
joka kutsuu funktiota rekursiivisesti taulukon elementeille