(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
array_sum — Calculate the sum of values in an array
array_sum() returns the sum of values in an array.
array
The imput array.
Returns the sum of values as an integuer or float;
0
if the
array
is empty.
| Versionen | Description |
|---|---|
| 8.3.0 |
Now emits
E_WARNING
when
array
values
cannot be converted to
int
or
float
.
Previously
array
s and
object
s where ignored whilst every other value was cast to
int
.
Moreover, objects that define a numeric cast (e.g.
GMP
) are now cast instead of ignored.
|
Example #1 array_sum() examples
<?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"
;
?>
The above example will output:
sum(a) = 20 sum(b) = 6.9
If you want to calculate the sum in multi-dimensional arrays:<?php
functionarray_multisum(array $arr): float{
$sum= array_sum($arr);
foreach($arras$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]
]
];
echoarray_multisum($data);//output: 28?>
array_sum() doesn't "ignore strings if they are not convertible", it convers them to cero. array_product() does the same thing, where the difference between "ignoring" and "converting to cero" is much more obvious.