array_reduce

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

array_reduceRéduit itérativement un tableau

Description

array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] ) : mixed

array_reduce() applique itérativement la fonction callback aux éléments du tableau array, de manière à réduire le tableau à une valeur simple.

Liste de paramètres

array

Le tableau d'entrée.

callback
callback ( mixed $carry , mixed $item ) : mixed
carry

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.

item

Contient 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.

Valeurs de retour

Retourne la valeur résultante.

Si le tableau est vide et le paramètre initial n'est pas passé, array_reduce() retourne NULL.

Historique

Version Description
5.3.0 Modification du paramètre initial afin d'autoriser des variables de types mixtes (mixed) ; auparavant, uniquement des entiers.

Exemples

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(12345);
$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"
?>

Voir aussi