Documentación offline PHP master

array_reduce

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

array_reduce

Reduce itérativemente un array

Descripción#

array_reduce(array $array, callable $callback, [mixed $initial]): mixed
```php

`array_reduce` aplica itérativemente la función `callback` a los elementos del array `array`, de manera que se reduce el array a un valor simple.

## Parámetros

`array`  
El array de entrada.

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

carry
Contiene el valor devuelto de la iteración previa; en el caso de la primera iteración, será el valor del parámetro initial.

item
Contiene el valor de la iteración actual.

initial
Si el argumento opcional initial está disponible, será utilizado para inicializar el proceso, o bien como valor final si el array está vacío.

Valores devueltos#

Devuelve el valor resultante.

Si el array está vacío y el parámetro initial no es pasado, array_reduce devuelve null.

Historial de cambios#

Versión Descripción
8.0.0 Si callback espera un parámetro a ser pasado por referencia, esta función emite ahora una E_WARNING.

Ejemplos#

Ejemplo con 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), ya que: 10*1*2*3*4*5
var_dump(array_reduce($x, "sum", "No data to reduce")); // string(17) "No data to reduce"
?>

Véase también#

array_filter, array_map, array_unique, array_count_values