Funksjonen array_reduce

Funksjonen array_reduce reduserer en array til en enkelt verdi ved hjelp av en tilbakekall.

I den første parameteren tar funksjonen imot en array, i den andre - en tilbakekall, som vil bli anvendt etter tur på hvert element i arrayen.

I den tredje valgfrie parameteren vil være startverdien som reduksjonen av arrayen vil starte fra. Som standard har denne parameteren verdien null.

Tilbakekallsfunksjonen mottar som parametere to verdier. Den første verdien inneholder resultatverdien fra forrige iterasjon. Ved første iterasjon inneholder den verdien av den tredje parameteren.

Og den andre verdien til tilbakekallsfunksjonen inneholder det nåværende elementet i arrayen.

Tilbakekallsfunksjonen vil etter tur bli anvendt på hvert element i arrayen. Det som returneres i gjeldende iterasjon av tilbakekallsfunksjonen, vil komme inn i den første parameteren til tilbakekallsfunksjonen i neste iterasjon.

På denne måten vil tilbakekallsfunksjonen sekvensielt blitt anvendt på hvert element i arrayen etter tur og til slutt resultere i en verdi. Denne verdien vil være resultatet av funksjonen array_reduce.

Syntaks

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

Eksempel

La oss finne summen av elementene i arrayen:

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

Resultat av kjøring av koden:

php15

Se også

  • funksjonen array_map,
    som anvender en funksjon på elementene i en array
  • funksjonen array_walk,
    som kaller en funksjon for elementene i en array
  • funksjonen array_filter,
    som filtrerer en array
  • funksjonen array_walk_recursive,
    som rekursivt kaller en funksjon for elementene i en array