array_reduce

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

array_reduceReduce iterativamente un array a un solo valor usando una función llamada de retorno

Descripción

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

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.

Parámetros

array

El array de entrada.

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

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.

item

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

Valores devueltos

Devuelve el valor resultante.

Si el array está vacío y no se proporciona el parámetro initial, array_reduce() devuelve null.

Historial de cambios

Versión Descripción
5.3.0 Se cambió el parámetro initial para permitir mixed, anteriormente era integer.

Ejemplos

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

Ver también