(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)
array_reduce — Réduit itérativement un tableau
   array_reduce() applique itérativement
   la fonction callback aux éléments du
   tableau array, de manière à réduire le
   tableau à une valeur simple.
  
arrayLe tableau d'entrée.
callbackcarry
          Contient la valeur retournée de l'itération précédente ; dans le cas de
          la première itération, ce sera la valeur du paramètre
          initial.
         
itemContient la valeur de l'itération courante.
initial
       Si l'argument optionnel initial
       est disponible, il sera utilisé pour initialiser le processus,
       ou bien comme valeur finale si le tableau est vide.
      
Retourne la valeur résultante.
   Si le tableau est vide et le paramètre initial
   n'est pas passé, array_reduce() retourne null.
  
| Version | Description | 
|---|---|
| 8.0.0 | Si callbackattend un paramètre à être passé par
  référence, cette fonction émet désormais uneE_WARNING. | 
Exemple #1 Exemple avec array_reduce()
<?php
function sum($carry, $item)
{
    $carry += $item;
    return $carry;
}
function product($carry, $item)
{
    $carry *= $item;
    return $carry;
}
$a = array(1, 2, 3, 4, 5);
$x = array();
var_dump(array_reduce($a, "sum")); // int(15)
var_dump(array_reduce($a, "product", 10)); // int(1200), car : 10*1*2*3*4*5
var_dump(array_reduce($x, "sum", "No data to reduce")); // string(17) "No data to reduce"
?>