PHP で 2D 配列内の同一の要素を合計する方法
PHP では、2 次元配列は非常に一般的なデータ構造であり、複数の 1 次元配列で構成され、比較的複雑なデータ構造を格納します。 2 次元配列の演算に関しては、同じ要素を合計する必要がある場合があります。この記事では、PHP で 2 次元配列内の同一の要素を合計する方法を共有します。
まず、2 次元配列とは何かを理解する必要があります。 2 次元配列は、各要素が配列である配列です。 2 次元配列は次の方法で定義できます:
$array = array( array(1, 2, 3), array(4, 5, 6), array(7, 8, 9) );
ここでは 3x3 の 2 次元配列を定義します。このうち、各部分配列は同じ数の要素を持ち、特定の順序で配置されます。次に、これらの部分配列内の同一の要素を合計する方法を学習します。
最初の方法は、foreach ループを使用することです。 2D 配列内の各サブ配列を反復処理し、別の foreach ループを使用してサブ配列内の各要素を反復し、最後にすべての同じ要素を合計します。実装コードは次のとおりです。
$sums = array(); foreach ($array as $subarray) { foreach ($subarray as $key => $value) { if (isset($sums[$key])) { $sums[$key] += $value; } else { $sums[$key] = $value; } } } print_r($sums);
このコードでは、まず $sums という名前の新しい配列を作成します。二重ループを使用して、2D 配列の各サブ配列と各サブ配列の各要素を反復処理します。各要素について、$sums に既に存在するかどうかを確認し、存在する場合は元の値を要素に追加し、存在しない場合はその値を $sums に追加します。最後に、$sums を出力して結果を確認します。
2 番目の方法は、array_reduce 関数を使用することです。この関数は、配列内の各要素をパラメータとして受け取り、累積値を返します。配列マージ演算子 " " を使用してすべての配列を 1 つの配列にマージし、array_reduce 関数を使用して同じキーを持つ要素を合計することができます。実装コードは次のとおりです。
$sums = array_reduce($array, function ($result, $subarray) { return $result + $subarray; }, array()); print_r($sums);
このコードでは、array_reduce 関数を使用して、2 次元配列内の各サブ配列を反復処理します。各反復中に、配列マージ演算子 " " を使用して、すべての配列を 1 つの配列にマージします。最後に、返された結果を出力して結果を確認します。
3 番目の方法は、array_walk_recursive 関数を使用することです。この関数は、多次元配列の各要素に対してコールバックを作成します。この関数を使用して、2 次元配列の各要素を操作できます。実装コードは次のとおりです:
$sums = array(); array_walk_recursive($array, function ($value, $key) use (&$sums) { if (isset($sums[$key])) { $sums[$key] += $value; } else { $sums[$key] = $value; } }); print_r($sums);
このコードでは、まず $sums という名前の新しい配列を作成します。 array_walk_recursive 関数を使用して、現在走査されている要素の値やキーなど、2 次元配列内の各要素に対してコールバックを作成します。各コールバックでは、現在のキーが $sums に既に存在するかどうかを確認し、その値を既存の値に追加するか、$sums に追加します。最後に、$sums を出力して結果を確認します。
要約すると、ループ、関数、コールバック関数などのさまざまな方法を使用して、PHP の 2 次元配列内の同じ要素を合計できます。それはあなたの具体的なニーズや好みによって異なります。どの方法を使用する場合でも、PHP 組み込み関数を適切に使用することで、2 次元配列に対するさまざまな操作を簡単に処理できます。
以上がPHP で 2D 配列内の同一の要素を合計する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











この記事では、効率的なPHPアレイ重複排除について説明します。 Array_unique()などの組み込み関数をカスタムハッシュマップアプローチと比較し、配列のサイズとデータ型に基づいてパフォーマンスのトレードオフを強調します。 最適な方法は、プロビリに依存します

この記事では、PHPアレイの重複排除を分析し、素朴なアプローチ(O(n²))のパフォーマンスボトルネックを強調しています。 カスタム関数、splobjectStorage、およびハッシュセットの実装を使用して、array_unique()を使用して効率的な代替案を調査し、達成します

この記事では、Keyの一意性を使用してPHPアレイ重複排除について説明します。 直接的な重複除去方法ではありませんが、キーユニークネスを活用することで、キーに値をマッピングして重複を上書きすることにより、一意の値を持つ新しい配列を作成できます。 このAP

この記事では、RabbitMQとRedisを使用してPHPでメッセージキューを実装する詳細を示します。 それは、それらのアーキテクチャ(AMQP対インメモリ)、機能、および信頼性メカニズム(確認、トランザクション、永続性)を比較します。デザインのベストプラクティス、エラー

この記事では、PSRの推奨事項(PSR-1、PSR-2、PSR-4、PSR-12)に焦点を当てた現在のPHPコーディング基準とベストプラクティスを検証します。 一貫したスタイリング、意味のある命名、EFFを通じてコードの読みやすさと保守性を改善することを強調しています

この記事では、大規模なデータセットのPHPアレイ重力化の最適化について説明します。 Array_unique()、array_flip()、splobjectStorage、事前ソートなどの手法を調べ、効率を比較します。 大規模なデータセットの場合、チャンク、データブを示唆しています

この記事では、PHP拡張機能のインストールとトラブルシューティングの詳細で、PECLに焦点を当てています。 インストール手順(検索、ダウンロード/コンパイル、サーバーの再起動、再起動)、トラブルシューティングテクニック(ログのチェック、インストールの確認、

この記事では、PHPの反射APIについて説明し、クラス、方法、およびプロパティのランタイム検査と操作を可能にします。 一般的なユースケース(ドキュメンテーション生成、ORM、依存関係注入)とパフォーマンスオーバーヘアに対する注意の詳細
