+ 收藏我们

网站模板

网站模板搜索
404模板 营销型模板 外贸网站模板 单页模板 双语模板 标签大全
电话:18630701785
首页 > 站长学院 > php二维数组求和用array_sum吗 >

php二维数组求和用array_sum吗

时间:2024-04-14 10:04:41

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;}}”。

 

php零基础到就业直播视频课:进入学习
全程直播 + 实战授课 + 边学 + 边练 + 边辅导
【推荐】《接口如何自动化测试?单流测试、组合测试、智能测试报表!》

本教程操作环境: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;
?>
0.png

计算的结果明显不对,它只统计的外层元素的和。

1663761440594474.png

那么怎么利用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);
1.png

$arr = array(array(2,4,6),array(8,10,12)); 
var_dump($arr);
f($arr);
2.png

以上就是php二维数组求和用array_sum吗的详细内容。

有问题可以加入网站技术QQ群一起交流学习

本站会员学习、解决问题QQ群(691961965)

客服微信号:lpf010888

Title