array_sum

(PHP 4 >= 4.0.4, PHP 5)

array_sumCalculate the sum of values in an array

Description

number array_sum ( array $array )

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

Parameters

array

The input array.

Return Values

Returns the sum of values as an integer or float.

Changelog

Version Description
4.2.1 PHP versions prior to 4.2.1 modified the passed array itself and converted strings to numbers (which most of the time converted them to zero, depending on their value).

Examples

Example #1 array_sum() examples

<?php
$a 
= array(2468);
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

Коментарии

array_sum converts strings to integer and array_sum(2,'2') returns 4.

I had no idea.
2022-01-26 16:16:25
http://php5.kiev.ua/manual/ru/function.array-sum.html
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
?>
2022-01-28 14:29:09
http://php5.kiev.ua/manual/ru/function.array-sum.html
<?php 
//you can also sum multidimentional arrays like this;

function arraymultisum(array $arr){
$sum=null;
   
    foreach(
$arr as $child){
       
$sum+=is_array($child) ? arraymultisum($child):$child;
    }
    return 
$sum;
}

echo 
arraymultisum(array(1,4,5,[1,5,8,[4,5,7]]));

//Answer Will be
//40

?>
2022-02-03 21:19:51
http://php5.kiev.ua/manual/ru/function.array-sum.html
Автор:
Notably the function converts strings to float and ignores strings if they are not convertable:

<?php
$a 
= array("String"2468);
echo 
"sum(a) = " array_sum($a) . "\n";

$b = array("12.3456"2468);
echo 
"sum(b) = " array_sum($b) . "\n";
?>

sum(a) = 20
sum(b) = 32.3456
2022-12-21 13:19:18
http://php5.kiev.ua/manual/ru/function.array-sum.html
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.
2022-12-30 01:31:57
http://php5.kiev.ua/manual/ru/function.array-sum.html
If you have a case where your array has int in strings, it sums them up as if there were only int in the array!
function sum_mix($a)
{
    return array_sum($a);
}
var_dump(sum_mix([9, 3, '7', '3']));
Response will be int(22)
2023-06-09 20:41:08
http://php5.kiev.ua/manual/ru/function.array-sum.html

    Поддержать сайт на родительском проекте КГБ