Volver a la página principal
lunes 4 noviembre 2024
21

Cómo utilizar array_reduce en PHP

La función array_reduce en PHP permite reducir un array a un solo valor aplicando una función de callback de forma iterativa a cada elemento del array. Es ideal para realizar cálculos acumulativos, como sumar todos los valores de un array o concatenar cadenas.

¿Qué es array_reduce y cómo funciona?

La función array_reduce recorre un array y aplica una función de callback, que recibe dos parámetros: un acumulador y el valor actual del array. El valor devuelto por la función de callback se convierte en el nuevo valor del acumulador y se utiliza en la siguiente iteración. Al finalizar, array_reduce devuelve el valor acumulado final.

Sintaxis de array_reduce

array_reduce(array $array, callable $callback, mixed $initial = null): mixed
  • $array: Array que se va a reducir.
  • $callback: Función de callback que se aplicará a cada elemento. Debe aceptar dos parámetros: el acumulador y el valor actual.
  • $initial (opcional): Valor inicial del acumulador. Si no se especifica, será null.

Parámetros de callback

Parámetro Tipo Descripción
acumulador mixed El valor acumulado hasta la iteración actual.
valor mixed El valor del elemento actual del array.

Ejemplos de uso de array_reduce

Ejemplo 1: Sumar valores en un array

Este ejemplo utiliza array_reduce para calcular la suma de los elementos en un array.

$numeros = [1, 2, 3, 4, 5];
$suma = array_reduce($numeros, function($acumulador, $valor) {
    return $acumulador + $valor;
}, 0);

echo $suma; // Salida: 15

Ejemplo 2: Concatenar cadenas de un array

En este ejemplo, array_reduce se usa para concatenar todos los elementos de un array de cadenas en una sola cadena.

$cadenas = ["Hola", "mundo", "!"];
$frase = array_reduce($cadenas, function($acumulador, $valor) {
    return $acumulador . " " . $valor;
}, "");

echo $frase; // Salida: " Hola mundo !"

Ejemplo 3: Encontrar el producto de los valores de un array

Aquí, array_reduce calcula el producto de todos los elementos en un array.

$numeros = [2, 3, 4];
$producto = array_reduce($numeros, function($acumulador, $valor) {
    return $acumulador * $valor;
}, 1);

echo $producto; // Salida: 24

Referencia

Para más información sobre el uso de array_reduce, consulta la documentación oficial de PHP.

Etiquetas:
php
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer