PHP: array_sum - Manual
(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
array_sum — Calcula la suma de los valores del array
Descripción
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 ejemplo anterior mostrará:
Found A Problem?
rodrigo at adboosters dot com ¶
4 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
?>3 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.