这篇文章主要介绍了php二维数组怎么求和的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php二维数组怎么求和文章都会有所收获,下面我们一起来看看吧。
php中二维数组求和只用array_sum()是不行的,因为array_sum()函数只处理一维数组;想要使用array_sum()实现二维数组求和,还需要借助foreach语句,语法“$sum=0;foreach($arr as $v){if(is_array($v)){$sum+=array_sum($v);}else{$sum+=$v;}}”。
本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
php二维数组只用array_sum()是无法求和的。
原因:array_sum()函数只处理一维数组,对多维数组无效。
<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(1,2,3,array(4,5,6),7,8,array(9,10));
var_dump($arr);
$sum=array_sum($arr);
echo "二维数组的和为:".$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."<br>";
}
调用上面的函数
$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二维数组怎么求和”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。