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

phparray_reduce(array $array, callable $callback, mixed $initial = null): mixed

Esimerkki

Etsitään taulukon elementtien summa:

php<?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:

php15

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