PHP 8.4.7 Released!

array_sum

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

array_sumCalcula la suma de los valores del array

Descripción

array_sum(array $array): int|float

array_sum() devuelve la suma de los valores del array array.

Parámetros

array

El array de entrada.

Valores devueltos

Devuelve la suma de los valores, en forma de un int o de un float 0 si el array está vacío.

Historial de cambios

Versión Descripción
8.3.0 Emite ahora un E_WARNING cuando los valores de tipo array no pueden ser convertidos en int o float. Anteriormente, los arrays y los objetos eran ignorados mientras que todos los demás valores eran convertidos en int. Además, los objetos que definen una conversión numérica (por ejemplo, GMP) son ahora convertidos en lugar de ser ignorados.

Ejemplos

Ejemplo #1 Ejemplo con array_sum()

<?php
$a
= array(2, 4, 6, 8);
echo
"sum(a) = " . array_sum($a) . "\n";

$b = array("a" => 1.2, "b" => 2.3, "c" => 3.4);
echo
"sum(b) = " . array_sum($b) . "\n";
?>

El resultado del ejemplo sería:

sum(a) = 20
sum(b) = 6.9

add a note

User Contributed Notes 2 notes

up
22
rodrigo at adboosters dot com
3 years ago
If you want to calculate the sum in multi-dimensional arrays:

<?php
function array_multisum(array $arr): float {
$sum = array_sum($arr);
foreach(
$arr as $child) {
$sum += is_array($child) ? array_multisum($child) : 0;
}
return
$sum;
}
?>

Example:

<?php
$data
=
[
'a' => 5,
'b' =>
[
'c' => 7,
'd' => 3
],
'e' => 4,
'f' =>
[
'g' => 6,
'h' =>
[
'i' => 1,
'j' => 2
]
]
];

echo
array_multisum($data);

//output: 28
?>
up
1
harl at gmail dot com
2 years ago
array_sum() doesn't "ignore strings if they are not convertible", it converts them to zero. array_product() does the same thing, where the difference between "ignoring" and "converting to zero" is much more obvious.
To Top