184 of 410 menu

Funcția array_reduce

Funcția array_reduce reduce un array la o singură valoare, folosind un callback.

În primul parametru funcția primește un array, în al doilea - callback-ul, care va fi aplicat pe rând fiecărui element al array-ului.

În al treilea parametru opțional se va afla valoarea inițială, cu care va începe reducerea array-ului. Implicit acest parametru are valoarea null.

Funcția-callback primește ca parametri două valori. Prima valoare conține valoarea rezultată din iterația precedentă. În cazul primei iterații conține valoarea parametrului al treilea.

Iar a doua valoare a callback-ului conține elementul curent al array-ului.

Callback-ul va fi aplicat pe rând fiecărui element al array-ului. Ceea ce va returna callback-ul în iterația curentă, va intra în primul parametru al callback-ului în iterația următoare.

Astfel, callback-ul se aplică succesiv fiecărui element al array-ului pe rând și în final se obține o valoare. Această valoare va fi rezultatul lucrului funcției array_reduce.

Sintaxă

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

Exemplu

Să găsim suma elementelor array-ului:

<?php $arr = [1, 2, 3, 4, 5]; function func($prev, $elem) { return $prev + $elem; } $res = array_reduce($arr, 'func', 0); echo $res; ?>

Rezultatul executării codului:

15

Vedeți și

  • funcția array_map,
    care aplică o funcție elementelor array-ului
  • funcția array_walk,
    care apelează o funcție pentru elementele array-ului
  • funcția array_filter,
    care filtrează un array
  • funcția array_walk_recursive,
    care apelează recursiv o funcție pentru elementele array-ului
Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge