php中多个数组怎么求和
时间 : 2023-02-14 08:24:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性
在PHP中,使用 array_sum() 函数可以简单地把多个数组求和。
array_sum() 函数使用方法比较简单,第一个参数可以接收一个单一的、包含数字的数组,或者是一系列数组。
它可以接受一个数组作为输入,并且使用布尔值 false 作为第二个参数(如果第二个参数不传递,按照以上的默认值来执行):
$arr1 = array(1,2,3,4);
$arr2 = array(5,6,7,8);
$total = array_sum(array($arr1,$arr2), false);
echo($total);
//输出:36
这个 array_sum() 函数的另外一种用法是把多个数字加起来,简单地使用多个参数:
$sum = array_sum(1,2,3,4);
echo($sum);
//输出:10
array_sum() 函数很方便,不受输入数组里面元素类型因素的影响,如果有非数字,那么它会忽视它们。
但有时候,我们也需要知道非数字元素对求和结果的影响,我们可以使用布尔值 true 作为 array_sum() 函数的第二个参数:
$array1 = array(1,2,3,4,'a',false,null);
$sum = array_sum($array1, true);
echo($sum);
//输出:10
可以看到,使用了参数 true,当多个数组里的元素类型为非数字时,它会当做 0 对结果进行累加求和(false 为0,null 也为 0),所以这里结果为 10。
总结:PHP 中使用 array_sum() 函数可以简单地求和多个数组,不受元素类型的影响。如果需要知道非数字元素对求和结果的影响,可以使用布尔值 true 作为第二个参数。
PHP中有许多方法可以求多个数组的和,以下将介绍三种常用的方法:
第一种方法是使用数组函数array_sum()。该函数可以计算所给数组所有一维数组的值之和,并支持传递多个数组参数。函数array_sum()接受一个参数作为数组,并返回数组所有元素值之和,代码如下:
$arr1 = array(1, 2, 3);
$arr2 = array(4, 5, 6);
$arr3 = array(7, 8, 9);
$total = array_sum(array($arr1, $arr2, $arr3));
echo $total; //45
第二种方法是使用foreach()循环,首先判断两个数组的大小,让小的数组成为循环外的外层循环,大的数组成为循环内的内层循环,然后对每个元素求和,循环结束后,即可得到最终结果,代码如下实现:
$arr1 = array(1, 2, 3);
$arr2 = array(4, 5, 6);
$arr3 = array(7, 8, 9);
$total = 0;
if (count($arr1) > count($arr2))
$maxArr = $arr1;
else
$maxArr = $arr2;
foreach ($maxArr as $key => $val) {
$total += isset($arr1[$key]) ? $arr1[$key] : 0;
$total += isset($arr2[$key]) ? $arr2[$key] : 0;
$total += isset($arr3[$key]) ? $arr3[$key] : 0;
}
echo $total; //45
第三种方式是使用 php 内置函数array_reduce(),array_reduce() 函数可以把数组中的元素进行遍历,然后累加求和,接受四个参数,代码如下:
$arr1 = array(1, 2, 3);
$arr2 = array(4, 5, 6);
$arr3 = array(7, 8, 9);
$total = array_reduce(array($arr1, $arr2, $arr3),
function($v1, $v2){
return $v1 + array_sum($v2);
});
echo $total; //45
以上就是php中多个数组如何求和的介绍,分别介绍了数组函数array_sum()、foreach() 循环以及array_reduce() 函数三种方法,可
https/SSL证书广告优选IDC>>
推荐主题模板更多>>
推荐文章