En este post te voy a mostrar a sumar los valores de un arreglo en PHP de dos maneras: con un algoritmo que recorre el arreglo y va sumando una variable; y con la función array_reduce de PHP.

Al final podremos tener la suma de los valores del arreglo en PHP.

Sumar recorriendo el arreglo

El ejemplo más sencillo y aplicable a otros lenguajes es recorrer el arreglo e ir sumando cada valor en una variable:

<?php
// https://parzibyte.me/blog/
$numeros = array(12, 34, 554, 123);
$suma = 0;
foreach ($numeros as $numero) {
    $suma += $numero;
}

echo "Suma: $suma";

No importa si los números son enteros o flotantes, la suma se hará igualmente. Usamos el operador += que es una forma corta de:

$suma = $suma + $numero;

Ahora veamos cómo hacerlo usando array_reduce.

Suma de valores de arreglo en PHP con array_reduce

La función array_reduce de PHP reduce un arreglo a un solo valor. La sintaxis es:

array_reduce($arreglo, $funcion_que_reduce, $valorInicial);

La función que reduce es una función en donde recibimos el acarreo (lo que se lleva almacenado) y el elemento N del arreglo.

El valor inicial es un valor que se devuelve si el arreglo está vacío, y es el valor que tiene el acarreo la primera vez.

Para obtener la suma de valores con PHP usamos lo siguiente:

<?php
// https://parzibyte.me/blog/
$numeros = array(12, 34, 554, 123, 15);
$valorInicial = 0; // Valor inicial de array_reduce
$suma = array_reduce($numeros, function ($acarreo, $numero) {
    return $acarreo + $numero;
}, $valorInicial);

echo "Suma: $suma";

Como ves, es incluso un código un poco más complejo, pero array_reduce es útil en muchas otras aplicaciones.

Recuerda que la función que indicamos es anónima, pero podría ser almacenada o con nombre; todo depende del uso que le des.

Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto