$A と $B という 2 つの配列があり、両方の配列に存在するキーを保持しながらそれらをマージするとします。ただし、array_merge を使用すると、同じ名前のキーが上書きされ、データ損失が発生することがわかります。
この課題に対処するには、array_merge の代わりに array_merge_recursive を使用する必要があります。この関数は再帰的マージを実行し、同じ名前のキーが上書きされるのではなく配列に結合されるようにします。
たとえば、次の配列があるとします。
<code class="php">$A = ['a' => 1, 'b' => 2, 'c' => 3]; $B = ['c' => 4, 'd' => 5];</code>
それらを array_merge_recursive でマージすると、次のようになります。 yield:
<code class="php">array_merge_recursive($A, $B); // result ['a' => 1, 'b' => 2, 'c' => [3, 4], 'd' => 5]</code>
ご覧のとおり、キー 'c' に関連付けられた両方の値がマージされた配列に保存されます。この方法では、両方の配列のすべてのデータが確実に保持され、キーの欠落の問題が排除されます。
以上がすべてのデータを保持しながら、重複キーを持つ配列をマージするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。