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() 函数三种方法,可