PHP 配列を一致するキーとマージし、サブ配列を作成するにはどうすればよいですか?

DDD
リリース: 2024-10-27 20:33:30
オリジナル
966 人が閲覧しました

How to Merge PHP Arrays with Matching Keys and Create Sub-Arrays?

PHP 配列のマージ: 一致するキーを持つ配列の結合

この質問では、同じキーを共有する 2 つの PHP 配列をマージする方法について説明します。問題と解決策について詳しく見ていきましょう。

問題:

次の 2 つの配列について考えてみましょう:

  • 最初の配列: キーと値のペアキーはカメラ番号を表し、値は IP アドレスを表します。
  • 2 番目の配列: カメラ番号は同じですが、カメラ名を表す値が異なるキーと値のペアです。

目的はマージすることです。これらの配列は、一致する各キーに対応する値を集計することによって作成されます。

array_map を使用した解決策:

array_merge_recursive は配列を再帰的にマージできますが、一致するキーと値のペアを持つ配列が必要です。 。 array_map を使用したカスタム ソリューションは、目的の結果を達成できます。

$results = array();

array_map(function($a, $b) use (&$results) {
    $key = current(array_keys($a));
    $a[$key] = array('ip' => $a[$key]);
    $key = current(array_keys($b));
    $b[$key] = array('name' => $b[$key]);
    $results += array_merge_recursive($a, $b);
}, $array1, $array2);
ログイン後にコピー

説明:

  • 最初の配列のキーごとに、サブキー「ip」と値が元の値に設定された配列。
  • 同様に、2 番目の配列のキーごとに、キー「name」と値が元の値に設定されたサブ配列を作成します。 .
  • 最後に、array_merge_recursive を使用して、同じカメラ番号を共有するサブ配列をマージします。

出力は、カメラ番号を表すキーと値を含むサブ配列としての配列です。 'ip' プロパティと 'name' プロパティ。

array_map とカスタム キー操作を活用することで、このソリューションは、キーと値の構造を維持しながら、一致するキーを持つ配列を効率的にマージします。

以上がPHP 配列を一致するキーとマージし、サブ配列を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!