ホームページ >バックエンド開発 >PHPチュートリアル >PHP でキーと値のペアを持つ 2 つの配列を単一の配列にマージする方法

PHP でキーと値のペアを持つ 2 つの配列を単一の配列にマージする方法

Susan Sarandon
Susan Sarandonオリジナル
2024-12-15 07:17:10672ブラウズ

How to Merge Two Arrays with Key-Value Pairs into a Single Array in PHP?

複数の配列からの行データのマージ

複数の配列からのデータを 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。