PHP 数组总和
作者:迹忆客
最近更新:2023/03/15
浏览次数:
PHP 有一个内置函数 array_sum()
,用于对数组的所有值求和。
此函数采用一个参数,即要对值求和的数组。它只需要一个一维的关联数组作为参数。
array_sum()
将所有值相加后返回一个整数或浮点值;如果数组为空,它将返回 0
。
本教程演示了 array_sum()
的用法以及如何对多维数组的值求和。
在 PHP 中使用 array_sum()
函数对数组的值求和
array_sum()
只能用于一维和关联数组。
// Sum of the values of a one dimensional array.
$sum_array=array(10,20,30,40,50);
echo "Sum of the one-dimensional array is: "
echo array_sum($sum_array);
echo "<br>";
// Sum of the values of one associative array.
$sum_array=array("val1"=>10.5,"val2"=>20.5,"val3"=>30.5,"val4"=>40.5,"val5"=>50.5);
echo "Sum of the associative array is: "
echo array_sum($sum_array);
上面的代码将对相应数组的值求和。在关联数组的情况下,array_sum()
只会对值求和,而不是对键求和。
输出:
Sum of the one-dimensional array is: 150
Sum of the associative array is: 152.5
在 PHP 中计算多维数组的所有值的总和
我们可以对多维数组使用 foreach 循环来计算所有值的总和。
<?php
$multi_array = [
["val1"=>10,"val2"=>20,"val3"=>30,"val4"=>40,"val5"=>50],
["val1"=>10.5,"val2"=>20.5,"val3"=>30.5,"val4"=>40.5,"val5"=>50.5],
["val1"=>60,"val2"=>70,"val3"=>80,"val4"=>90,"val5"=>100],
["val1"=>60.5,"val2"=>70.5,"val3"=>80.5,"val4"=>90.5,"val5"=>100.5]
];
$sum_array = array();
foreach ($multi_array as $k=>$sub_array) {
foreach ($sub_array as $id=>$val) {
$sum_array[$id]+=$val;
}
}
print "Sum of full Array : ".array_sum($sum_array)."<br/>";
?>
上面的代码将首先计算多维数组的列总和,并返回一个包含列值总和的数组。然后我们使用 sum_array()
函数。
见输出:
Sum of full Array : 1105
使用 PHP 中的 sum_array()
函数计算多维数组的特定列的总和
我们知道,sum_array()
不能返回多维数组的总和,但它可以与另一个内置函数 array_column()
一起使用。
array_column()
将返回一个数组,其中包含键和值以及给定多维数组中的一列。它需要两个强制参数,数组和列或索引键。
<?php
$multi_array = [
["val1"=>10,"val2"=>20,"val3"=>30,"val4"=>40,"val5"=>50],
["val1"=>10.5,"val2"=>20.5,"val3"=>30.5,"val4"=>40.5,"val5"=>50.5],
["val1"=>60,"val2"=>70,"val3"=>80,"val4"=>90,"val5"=>100],
["val1"=>60.5,"val2"=>70.5,"val3"=>80.5,"val4"=>90.5,"val5"=>100.5]
];
$sum_val1 = array_sum(array_column($multi_array, "val1"));
print "Sum of column val1 : ".$sum_val1."<br/>";
$sum_val2 = array_sum(array_column($multi_array, "val2"));
print "Sum of column val2 : ".$sum_val2."<br/>";
$sum_val3 = array_sum(array_column($multi_array, "val3"));
print "Sum of column val3 : ".$sum_val3."<br/>";
$sum_val4 = array_sum(array_column($multi_array, "val4"));
print "Sum of column val4 : ".$sum_val4."<br/>";
$sum_val5 = array_sum(array_column($multi_array, "val5"));
print "Sum of column val5 : ".$sum_val5."<br/>";
?>
输出:
Sum of column val1 : 141
Sum of column val2 : 181
Sum of column val3 : 221
Sum of column val4 : 261
Sum of column val5 : 301
我们还可以使用带有 array_sum
和 array_column()
函数的循环来计算多维数组的所有值的总和。
相关文章
如何在 PHP 中获取时间差的分钟数
发布时间:2023/03/29 浏览次数:183 分类:PHP
-
本文介绍了如何在 PHP 中获取时间差的分钟数,包括 date_diff()函数和数学公式。它包括 date_diff()函数和数学公式。