Funktionen array_reduce

Funktionen array_reduce reducerar en array till ett enda värde med hjälp av en callback.

I den första parametern tar funktionen en array, i den andra - en callback som kommer att tillämpas i tur och ordning på varje element i arrayen.

I den tredje valfria parametern anges startvärdet från vilket reduceringen av arrayen ska börja. Som standard har denna parameter värdet null.

Callback-funktionen tar emot två parametrar. Det första värdet innehåller resultatvärdet från föregående iteration. Vid den första iterationen innehåller det värdet från den tredje parametern.

Och det andra värdet i callback-funktionen innehåller det aktuella elementet i arrayen.

Callback-funktionen kommer att tillämpas i tur och ordning på varje element i arrayen. Det som returneras i den aktuella iterationen av callback-funktionen hamnar i den första parametern i callback-funktionen på nästa iteration.

På så sätt tillämpas callback-funktionen sekventiellt på varje element i arrayen i tur och ordning och slutligen erhålls ett värde. Detta värde blir resultatet av funktionen array_reduce.

Syntax

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

Exempel

Låt oss hitta summan av elementen 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;
?>

Resultatet av kodkörningen:

php15

Se även

  • funktionen array_map,
    som tillämpar en funktion på element i en array
  • funktionen array_walk,
    som anropar en funktion för element i en array
  • funktionen array_filter,
    som filtrerar en array
  • funktionen array_walk_recursive,
    som rekursivt anropar en funktion för element i en array