略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: array_sum

2024-12-22

array_sum

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

array_sum 对数组中所有值求和

说明

array_sum(array $array): int|float

array_sum() 将数组中的所有值相加,并返回结果。

参数

array

输入的数组。

返回值

所有值的和以整数或浮点数的结果返回,array 为空时则返回 0

范例

示例 #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
add a noteadd a note

User Contributed Notes 4 notes

up
5
rodrigo at adboosters dot com
4 months 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
?>
up
-3
samiulmomin191139 at gmail dot com
4 months ago
<?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

?>
up
-6
yakushabb at gmail dot com
4 months ago
array_sum converts strings to integer and array_sum(2,'2') returns 4.

I had no idea.
up
-22
444
3 months ago
$total = 0;
foreach ($array as $key => $value){
   $total += $value;
}
Print "sum $total";

官方地址:https://www.php.net/manual/en/function.array-sum.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3