PHP は 2 次元配列の共通部分の合計問題をどのように処理しますか?
PHP プログラミングでは、配列を処理する場面によく遭遇しますが、その中でよく問題になるのが 2 次元配列の積部分の合計です。この記事では、PHP 言語を使用して 2 次元配列の積の総和問題を処理する方法を紹介します。
1. 2 次元配列とは何ですか?
2 次元配列とは、配列内の各要素自体が配列であり、各要素が独立したデータ項目を表すことを意味します。
たとえば、以下の 2 次元配列には 3 つのサブ配列が含まれており、各サブ配列には 3 つのデータ項目が含まれています。
$arr = array(
array(1,2,3), array(4,5,6), array(7,8,9)
)
2. 配列の交差とは何ですか?
配列の交差部分は、両方の配列に存在する要素で構成される新しい配列を指します。
たとえば、次の 2 つの配列:
$arr1 = array(1,3,5,7,9);
$arr2 = array(2,4,6, 8,9);
それらの交差は:
array(9)
3. 2 次元配列の交差を合計する方法
two -次元配列の交差の合計とは、2 つの 2 次元配列が与えられ、その各サブ配列に対して交差演算を実行し、すべてのサブ配列の交差値を加算して合計を求めることを意味します。
たとえば、次の 2 つの 2 次元配列:
$array1 = array(
array(1,2,3,4),
array(2,3) ,4 ,5),
array(3,4,5,6)
);
$array2 = array(
array(3,4,5,6),
array(5,6,7,8),
array(7,8,9,10)
);
交差の合計は次のコードで実装できます:
$sum = 0;
foreach ($array1 as $subarray1) { // 配列 1 の部分配列を走査します
foreach ($array2 as $subarray2) { // 配列 2 の部分配列を走査します
$intersect = array_intersect($subarray1, $subarray2); // 对子数组进行交集操作 if (!empty($intersect)) { // 如果交集不为空 $sum += array_sum($intersect); // 将交集中的值相加 }
}
}
echo $sum; // 出力結果: 33
4. 例の説明
上記のコードは、配列 1 の項目を走査します。次に、配列 2 の各サブ配列をループし、それらに対して交差演算を実行し、交差の値を $sum 変数に追加します。
特定の実装では、array_intersect() 関数を使用して交差演算を実行します。交差が空でない場合は、array_sum() 関数を使用して交差に値を追加します。
array_intersect() 関数を使用する場合、2 つの部分配列の交差部分が空の場合、空の配列が返されることに注意してください。 !empty() 関数を使用して判断します。
5. まとめ
この記事では、PHP における 2 次元配列の交差総和の基本的な概念と実装方法を紹介します。配列の交差部分を使用します。この記事に関してご質問やご提案がございましたら、メッセージを残してください。
以上がPHP は 2 次元配列の共通部分の合計問題をどのように処理しますか?の詳細内容です。詳細については、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)

ホットトピック











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

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

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

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

PHP 8のJITコンピレーションは、頻繁に実行されるコードをマシンコードにコンパイルし、重い計算でアプリケーションに利益をもたらし、実行時間を短縮することにより、パフォーマンスを向上させます。

この記事では、PHPエコシステムに最新の状態を維持するための戦略を探ります。 公式チャンネル、コミュニティフォーラム、会議、オープンソースの貢献を利用することを強調しています。 著者は、新機能と

この記事では、Webアプリケーションの応答性を高めるために、PHPでの非同期タスクの実行について説明します。 メッセージキュー、非同期フレームワーク(Reactphp、Swoole)、およびバックグラウンドプロセスなどの方法を詳しく説明し、Efficienのベストプラクティスを強調しています

この記事では、PHPメモリの最適化について説明します。 適切なデータ構造を使用し、不必要なオブジェクトの作成を回避し、効率的なアルゴリズムを採用するなどの手法について詳しく説明しています。 一般的なメモリリークソース(例:除去されていない接続、グローバルv
