溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php二維數(shù)組怎么求和

發(fā)布時間:2022-09-22 09:35:43 來源:億速云 閱讀:194 作者:iii 欄目:編程語言

這篇文章主要介紹了php二維數(shù)組怎么求和的相關知識,內(nèi)容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇php二維數(shù)組怎么求和文章都會有所收獲,下面我們一起來看看吧。

php中二維數(shù)組求和只用array_sum()是不行的,因為array_sum()函數(shù)只處理一維數(shù)組;想要使用array_sum()實現(xiàn)二維數(shù)組求和,還需要借助foreach語句,語法“$sum=0;foreach($arr as $v){if(is_array($v)){$sum+=array_sum($v);}else{$sum+=$v;}}”。

本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦

php二維數(shù)組只用array_sum()是無法求和的。

原因:array_sum()函數(shù)只處理一維數(shù)組,對多維數(shù)組無效。

<?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 "二維數(shù)組的和為:".$sum;
?>

php二維數(shù)組怎么求和

計算的結果明顯不對,它只統(tǒng)計的外層元素的和。

php二維數(shù)組怎么求和

那么怎么利用array_sum()函數(shù)計算二維數(shù)組的元素總和?

解決方法:array_sum()函數(shù)+foreach語句

求和步驟

步驟1、使用foreach語句循環(huán)遍歷二維數(shù)組的外層數(shù)組元素

foreach($arr as $v){
//循環(huán)體代碼
}
  • 遍歷給定的 $arr 數(shù)組,在每次循環(huán)中將當前外層數(shù)組的值賦給 $v。

步驟2、在循環(huán)體,使用is_array()函數(shù)判斷外層元素是否為數(shù)組類型,并利用“+=”運算符求和

  • 如果不是數(shù)組類型,則將不是的外層元素相加求和

  • 如果是數(shù)組類型,則使用array_sum()函數(shù)計算該內(nèi)層數(shù)組中所有元素的和,并與外層元素和相加在一起即可。

if(is_array($v)){
	$sum+=array_sum($v);
}else{
	$sum+=$v;
}

實現(xiàn)代碼:

function f($arr){
	$sum=0;
	foreach($arr as $v){
		if(is_array($v)){
			$sum+=array_sum($v);
		}else{
			$sum+=$v;
		}
	}
	echo "二維數(shù)組的和為:".$sum."<br>";
}

調(diào)用上面的函數(shù)

$arr = array(1,2,3,array(4,5,6),7,8,array(9,10)); 
var_dump($arr);
f($arr);

php二維數(shù)組怎么求和

$arr = array(array(2,4,6),array(8,10,12)); 
var_dump($arr);
f($arr);

php二維數(shù)組怎么求和

關于“php二維數(shù)組怎么求和”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“php二維數(shù)組怎么求和”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

php
AI