array_sum

(PHP 4 >= 4.0.4, PHP 5)

array_sum — Вычислить сумму значений массива

Описание

number array_sum ( array $array )

array_sum() возвращает сумму значений массива. Полученный результат будет иметь тип integer или float.

Пример #1 Пример использования array_sum()

<?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";
?>

Программа выведет:

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

Замечание: PHP более ранних, чем 4.2.1, версий модифицировал переданный в качестве аргумента массив и конвертировал строки в числа (что в большинстве случаев означало конвертирование в 0).

Коментарии

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

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