Función array_reduce
La función array_reduce reduce
un array a un único valor utilizando una función de retrollamada.
En el primer parámetro la función toma un array, en el segundo - una función de retrollamada que se aplicará secuencialmente a cada elemento del array.
En el tercer parámetro opcional
estará el valor inicial desde el cual
comenzará la reducción del array.
Por defecto este parámetro tiene
el valor null.
La función de retrollamada recibe como parámetros dos valores. El primer valor contiene el valor resultante de la iteración anterior. En el caso de la primera iteración contiene el valor del tercer parámetro.
Y el segundo valor de la retrollamada contiene el elemento actual del array.
La retrollamada se aplicará secuencialmente a cada elemento del array. Lo que devuelva la retrollamada en la iteración actual, pasará al primer parámetro de la retrollamada en la siguiente iteración.
De este modo, la retrollamada secuencialmente
se aplicará a cada elemento del array
uno por uno y al final se obtendrá un
valor. Este valor será el resultado
del trabajo de la función array_reduce.
Sintaxis
array_reduce(array $array, callable $callback, mixed $initial = null): mixed
Ejemplo
Encontremos la suma de los elementos del array:
<?php
$arr = [1, 2, 3, 4, 5];
function func($prev, $elem)
{
return $prev + $elem;
}
$res = array_reduce($arr, 'func', 0);
echo $res;
?>
Resultado de la ejecución del código:
15
Véase también
-
la función
array_map,
que aplica una función a los elementos de un array -
la función
array_walk,
que llama a una función para los elementos de un array -
la función
array_filter,
que filtra un array -
la función
array_walk_recursive,
que llama recursivamente a una función para los elementos de un array