有两种常用的方法可以计算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 PDOStatement::debugDumpParams讲解 2022-12-12
- php多进程并发编程防止出现僵尸进程的方法分析 2023-04-02
- 基于thinkphp6.0的success、error实现方法 2023-03-12
- php 特殊字符处理函数 2023-12-18
- ThinkPHP框架整合微信支付之Native 扫码支付模式二图文详解 2023-01-05
- php对微信支付回调处理的方法 2022-11-09
- PHP开发实现微信退款功能示例 2022-10-02
- 用php过滤危险html代码的函数 2023-08-10
- Laravel框架模板继承操作示例 2022-10-31
- 深入理解PHP+Mysql分布式事务与解决方案 2023-05-03