有两种常用的方法可以计算PHP多维数组中所有值的总和,具体分别如下:
有两种常用的方法可以计算PHP多维数组中所有值的总和,具体分别如下:
方法一:foreach语句遍历数组
// 示例一:使用foreach语句遍历数组
function getSum($arr) {
$sum = 0;
foreach ($arr as $value) {
if (is_array($value)) {
$sum += getSum($value);
} else {
$sum += $value;
}
}
return $sum;
}
// 测试代码
$arr1 = array(1, 2, 3, array(4, 5, 6, array(7, 8, 9)));
echo getSum($arr1); // 输出55
上述代码中,getSum()函数通过遍历数组中的每个值,判断其是否是数组类型,如果是,则递归调用自身,否则累加该元素到总和变量$sum中。这种方法的优点在于遍历过程直观,容易理解,适用于多维数组中有多种数据类型的情况。
方法二:array_walk_recursive()方法递归遍历数组
// 示例二:使用array_walk_recursive()方法递归遍历数组
function getSum2($arr) {
$sum = 0;
array_walk_recursive($arr, function($value) use (&$sum){
$sum += $value;
});
return $sum;
}
// 测试代码
$arr2 = array(1, 2, 3, array(4, 5, 6, array(7, 8, 9)));
echo getSum2($arr2); // 输出55
上述代码中,getSum2()函数使用了PHP自带的array_walk_recursive()方法,可以递归遍历多维数组中的每一个值,并对其执行一个回调函数。回调函数中使用传址方式引用了外部的总和变量$sum,并对每个遍历到的值进行累加,最终得到所有值的总和。这种方法代码简洁,但不如foreach方法直观。
综上,以上两种方式均可实现对PHP多维数组中所有值的总和计算,选择合适的方式应根据实际情况决定。
沃梦达教程
本文标题为:php计算多维数组中所有值总和的方法
猜你喜欢
- php如何实现页面跳转功能 2023-07-09
- php文件下载后无法打开的处理方案及代码 2023-06-19
- php创建类并调用的实例方法 2023-12-12
- php+mysql实现的无限分类方法类定义与使用示例 2023-04-20
- 关于PHP方法参数的那一些事 2023-05-09
- 实例分析PHP中PHPMailer发邮件 2022-10-02
- PHP中利用Telegram的接口实现免费的消息通知功能 2022-10-02
- PHP数组的内部实现你了解吗 2023-06-26
- laravel5 使用try catch的实例详解 2022-10-02
- ThinkPHP框架整合微信支付之刷卡模式图文详解 2023-01-05