使用php如何计算二维数组的总和而非仅用array_sum?

更新于
2026-09-28 22:24:50
3阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计778个文字,预计阅读时间需要4分钟。

使用php如何计算二维数组的总和而非仅用array_sum?

在PHP中,使用`array_sum()`函数来计算二维数组的和是不直接的,因为`array_sum()`仅能处理一维数组。若要计算二维数组的和,你需要借助`foreach`循环来遍历数组的每一层,并对内部的每一行进行求和。

下面是一个简化的代码示例:

php$sum=0;foreach ($arr as $v) { if (is_array($v)) { $sum +=array_sum($v); }}

使用php如何计算二维数组的总和而非仅用array_sum?

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入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用

本教程操作环境: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二维数组求和用array_sum吗的详细内容,更多请关注自由互联其它相关文章!

本文共计778个文字,预计阅读时间需要4分钟。

使用php如何计算二维数组的总和而非仅用array_sum?

在PHP中,使用`array_sum()`函数来计算二维数组的和是不直接的,因为`array_sum()`仅能处理一维数组。若要计算二维数组的和,你需要借助`foreach`循环来遍历数组的每一层,并对内部的每一行进行求和。

下面是一个简化的代码示例:

php$sum=0;foreach ($arr as $v) { if (is_array($v)) { $sum +=array_sum($v); }}

使用php如何计算二维数组的总和而非仅用array_sum?

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入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用

本教程操作环境: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二维数组求和用array_sum吗的详细内容,更多请关注自由互联其它相关文章!