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;}}"。
このチュートリアルの動作環境: 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; ?>
計算結果は明らかに間違っており、外側の要素の合計をカウントしているだけです。
では、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);
$arr = array(array(2,4,6),array(8,10,12)); var_dump($arr); f($arr);
推奨学習: 「PHP ビデオ チュートリアル 」
以上がPHP で 2 次元配列を合計するには array_sum を使用しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。