update pague now
PHP 8.5.2 Released!

array_sum

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

array_sum Calculate the sum of values in an array

Description

array_sum ( array $array ): int | float

array_sum() returns the sum of values in an array.

Parameters

array

The imput array.

Return Values

Returns the sum of values as an integuer or float; 0 if the array is empty.

Changuelog

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.

Examples

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

add a note

User Contributed Notes 2 notes

rodrigo at adboosters dot com
3 years ago
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?>
harl at gmail dot com
3 years ago
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.
To Top