ホームページ >バックエンド開発 >PHPの問題 >PHP で 2 次元配列を合計するには array_sum を使用しますか?

PHP で 2 次元配列を合計するには array_sum を使用しますか?

青灯夜游
青灯夜游オリジナル
2022-09-21 19:58:312325ブラウズ

array_sum() 関数は 1 次元配列のみを処理するため、php で array_sum() だけを使用して 2 次元配列を合計することはできません。array_sum() を使用して 2 次元配列を実装したい場合は、次元配列の合計を計算するには、foreach ステートメントの構文 "$sum=0;foreach($arr as $v){if(is_array($v)){$sum =array_sum($v);}else{$合計 =$v;}}"。

PHP で 2 次元配列を合計するには array_sum を使用しますか?

このチュートリアルの動作環境: Windows7 システム、PHP バージョン 8.1、DELL G3 コンピューター

php 2 次元配列のみuses array_sum () を合計することはできません。

理由: array_sum() 関数は 1 次元配列のみを処理し、多次元配列には無効です。

<?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;
?>

PHP で 2 次元配列を合計するには array_sum を使用しますか?

計算結果は明らかに間違っており、外側の要素の合計をカウントしているだけです。

PHP で 2 次元配列を合計するには array_sum を使用しますか?

では、array_sum() 関数を使用して 2 次元配列の要素の合計を計算するにはどうすればよいでしょうか?

解決策: 各ステートメントの array_sum() 関数

合計ステップ

ステップ 1 を使用します。 2 次元配列の外側の配列要素をループする foreach ステートメント

foreach($arr as $v){
//循环体代码
}
  • 指定された $arr 配列をトラバースし、各ループで現在の外側の配列を変更します。 of が $v に割り当てられます。

ステップ 2. ループ本体で、is_array() 関数を使用して外側の要素が配列型であるかどうかを判断し、「=」演算子を使用してその値を合計します。 up

  • 配列型でない場合は、配列ではない外側の要素を加算して合計します。

  • 配列型の場合は、配列ではない外側の要素を加算して合計します。配列タイプの場合は、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);

PHP で 2 次元配列を合計するには array_sum を使用しますか?

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

PHP で 2 次元配列を合計するには array_sum を使用しますか?

推奨学習: 「PHP ビデオ チュートリアル

以上がPHP で 2 次元配列を合計するには array_sum を使用しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。