複数の配列からの行データのマージ
複数の配列からのデータのマージは、複雑なデータ構造を扱う場合の一般的な要件となることがあります。配列のキーと値が異なる場合、このタスクはより困難になります。
元のキーと値を保持しながら 2 つの配列をマージするには、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'] ];
array_merge_recursive を使用してこれらの配列をマージするには、以下が必要です。まず、すべての数値キーが文字列に変換されていることを確認します。これは、array_map 関数を使用して行うことができます:
$ar1 = array_map('strval', $ar1); $ar2 = array_map('strval', $ar2);
ここで、array_merge_recursive を使用して配列をマージできます:
$result = array_merge_recursive($ar1, $ar2);
結果として得られる $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 で異なるキーと値を持つ配列をマージするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。