我是靠谱客的博主 优雅红酒,最近开发中收集的这篇文章主要介绍php二维数组求和用array_sum吗,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本教程操作环境: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

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

那么怎么利用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视频教程》

以上就是php二维数组求和用array_sum吗的详细内容,更多请关注靠谱客其它相关文章!

最后

以上就是优雅红酒为你收集整理的php二维数组求和用array_sum吗的全部内容,希望文章能够帮你解决php二维数组求和用array_sum吗所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部