本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
php二维数组只用array_sum()是无法求和的。
【资料图】
原因:array_sum()函数只处理一维数组,对多维数组无效。
计算的结果明显不对,它只统计的外层元素的和。
那么怎么利用array_sum()函数计算二维数组的元素总和?
解决方法:array_sum()函数+foreach语句
求和步骤
步骤1、使用foreach语句循环遍历二维数组的外层数组元素
foreach($arr as $v){//循环体代码}
遍历给定的 $arr 数组,在每次循环中将当前外层数组的值赋给 $v。
步骤2、在循环体,使用is_array()函数判断外层元素是否为数组类型,并利用“+=”运算符求和
如果不是数组类型,则将不是的外层元素相加求和
如果是数组类型,则使用array_sum()函数计算该内层数组中所有元素的和,并与外层元素和相加在一起即可。
if(is_array($v)){$sum+=array_sum($v);}else{$sum+=$v;}
实现代码:
function f($arr){$sum=0;foreach($arr as $v){if(is_array($v)){$sum+=array_sum($v);}else{$sum+=$v;}}echo "二维数组的和为:".$sum."
";}
调用上面的函数
$arr = array(1,2,3,array(4,5,6),7,8,array(9,10)); var_dump($arr);f($arr);
$arr = array(array(2,4,6),array(8,10,12)); var_dump($arr);f($arr);
推荐学习:《PHP视频教程》
以上就是php二维数组求和用array_sum吗的详细内容,更多请关注php中文网其它相关文章!