Bayangkan anda mempunyai dua tatasusunan, $A dan $B, dan anda ingin menggabungkannya, mengekalkan kunci yang wujud dalam kedua-dua tatasusunan. Walau bagaimanapun, anda dapati bahawa apabila menggunakan array_merge, kunci dengan nama yang sama akan ditulis ganti, mengakibatkan kehilangan data.
Untuk menangani cabaran ini, anda mesti menggunakan array_merge_recursive dan bukannya array_merge. Fungsi ini melakukan cantuman rekursif, memastikan kekunci dengan nama yang sama digabungkan menjadi tatasusunan dan bukannya ditimpa.
Sebagai contoh, memandangkan tatasusunan berikut:
<code class="php">$A = ['a' => 1, 'b' => 2, 'c' => 3]; $B = ['c' => 4, 'd' => 5];</code>
Menggabungkannya dengan array_merge_recursive akan hasil:
<code class="php">array_merge_recursive($A, $B); // result ['a' => 1, 'b' => 2, 'c' => [3, 4], 'd' => 5]</code>
Seperti yang anda lihat, kedua-dua nilai yang dikaitkan dengan kunci 'c' dikekalkan dalam tatasusunan yang digabungkan. Kaedah ini memastikan bahawa semua data daripada kedua-dua tatasusunan dikekalkan, menghapuskan masalah kehilangan kunci.
Atas ialah kandungan terperinci Bagaimanakah Anda Menggabungkan Tatasusunan dengan Kunci Pendua Semasa Memelihara Semua Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!