184 of 410 menu

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
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää