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;}}”。
本教程操作环境: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吗的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

CakePHP 是 PHP 的开源框架。它的目的是使应用程序的开发、部署和维护变得更加容易。 CakePHP 基于类似 MVC 的架构,功能强大且易于掌握。模型、视图和控制器 gu

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写

CakePHP 是一个开源MVC 框架。它使开发、部署和维护应用程序变得更加容易。 CakePHP 有许多库可以减少大多数常见任务的过载。

本教程演示了如何使用PHP有效地处理XML文档。 XML(可扩展的标记语言)是一种用于人类可读性和机器解析的多功能文本标记语言。它通常用于数据存储
