(PHP 4 >= 4.0.5, PHP 5, PHP 7)
array_reduce — Reduce iterativamente un array a un solo valor usando una función llamada de retorno
array_reduce() aplica iterativamente la función
callback a los elementos de
array, con el propósito de reducir el array a
un solo valor.
arrayEl array de entrada.
callbackcarry
Conserva el valor de retorno de la iteración anterior; en el caso de que
sea la primera iteración, conservará el valor de
initial.
itemConserva el valor de la iteración actual.
initial
Si el parámetro opcional initial está disponible,
será usado al comienzo del proceso, o como un resultado final en caso de
que el array esté vacío.
Devuelve el valor resultante.
Si el array está vacío y no se proporciona el parámetro initial,
array_reduce() devuelve NULL.
| Versión | Descripción |
|---|---|
| 5.3.0 |
Se cambió el parámetro initial para permitir mixed, anteriormente era integer.
|
Ejemplo #1 Ejemplo de array_reduce()
<?php
function suma($carry, $item)
{
$carry += $item;
return $carry;
}
function producto($carry, $item)
{
$carry *= $item;
return $carry;
}
$a = array(1, 2, 3, 4, 5);
$x = array();
var_dump(array_reduce($a, "suma")); // int(15)
var_dump(array_reduce($a, "producto", 10)); // int(1200), ya que: 10*1*2*3*4*5
var_dump(array_reduce($x, "suma", "No hay datos a reducir")); // string(22) "No hay datos a reducir"
?>