複数の配列からのデータを 1 つのまとまった構造にマージすることは、一般的なプログラミング タスクとなる場合があります。この質問では、特定の属性を持つ新しい配列を作成するために 2 つの配列をマージする必要があるシナリオについて説明します。
最初の配列には 2 つの要素が含まれており、それぞれが「gross_value」と「quantity」のキーと値のペアで構成されています。 。 2 番目の配列にも 2 つの要素が含まれており、それぞれが「item_title_id」と「order_id」のキーと値のペアで構成されています。
目標は、これらの配列を新しい配列にマージし、各要素がすべてのキーを結合することです。両方の元の配列からの値のペア。結果の配列には、「gross_value」、「quantity」、「item_title_id」、および「order_id」という 4 つのキーと値のペアが含まれる必要があります。
この結合を実現するための推奨アプローチは、次のとおりです。 array_merge_recursive 関数の使用。この関数は複数の配列を入力として受け取り、それらの値を再帰的にマージします。
マージの準備として、両方の配列の数値キーが文字列に変換され、確実に連想配列になります。次のコードはこれを示しています:
$ar1 = [ ['gross_value' => '100', 'quantity' => '1'], ['gross_value' => '200', 'quantity' => '1'] ]; $ar2 = [ ['item_title_id' => '1', 'order_id' => '4'], ['item_title_id' => '2', 'order_id' => '4'] ]; $ar1 = array_map('array_values', $ar1); $ar2 = array_map('array_values', $ar2);
配列を変換した後、array_merge_recursive を使用してそれらをマージできます:
$result = array_merge_recursive($ar1, $ar2); print_r($result);
このコードは両方の配列のキーと値のペアをマージし、望ましい結果:
[ ['gross_value' => '100', 'quantity' => '1', 'item_title_id' => '1', 'order_id' => 4], ['gross_value' => '200', 'quantity' => '1', 'item_title_id' => '2', 'order_id' => 4] ]
以上がPHP でキーと値のペアを持つ 2 つの配列を単一の配列にマージする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。