迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > PHP >

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_sumarray_column() 函数的循环来计算多维数组的所有值的总和。

上一篇:PHP 扁平化数组

下一篇:PHP 显示数组值

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 PHP 中获取时间差的分钟数

发布时间:2023/03/29 浏览次数:183 分类:PHP

本文介绍了如何在 PHP 中获取时间差的分钟数,包括 date_diff()函数和数学公式。它包括 date_diff()函数和数学公式。

PHP 中的重定向

发布时间:2023/03/29 浏览次数:136 分类:PHP

本教程演示了如何将用户从页面重定向到 PHP 中的其他页面

PHP 分页

发布时间:2023/03/29 浏览次数:66 分类:PHP

本教程介绍如何在 PHP 中对数据库行进行分页

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便