Menggabungkan Tatasusunan dengan Kekunci Seiras: Mengatasi Keterbatasan array_merge
Dalam pembangunan perisian, menggabungkan tatasusunan dengan kunci yang sama boleh menjadi tugas biasa. Walau bagaimanapun, fungsi array_merge selalunya gagal untuk menggabungkan semua elemen dengan kekunci yang sama, mengakibatkan kehilangan data.
Pertimbangkan contoh berikut:
<code class="php">$A = array('a' => 1, 'b' => 2, 'c' => 3); $B = array('c' => 4, 'd' => 5); array_merge($A, $B); // Result [a] => 1 [b] => 2 [c] => 4 [d] => 5</code>
Seperti yang ditunjukkan, nilai asal 'c ' => 3 hilang selepas bergabung. Untuk menangani isu ini, pendekatan alternatif diperlukan.
Penyelesaian: array_merge_recursive
Sebaliknya, penyelesaiannya terletak pada penggunaan fungsi array_merge_recursive. Tidak seperti array_merge, array_merge_recursive menggabungkan kekunci dan nilai tatasusunan input secara rekursif, mengekalkan semua data.
Kod berikut menunjukkan pendekatan ini:
<code class="php">$A = array('a' => 1, 'b' => 2, 'c' => 3); $B = array('c' => 4, 'd' => 5); array_merge_recursive($A, $B); // Result [a] => 1 [b] => 2 [c] => [0 => 3, 1 => 4] [d] => 5</code>
Seperti yang anda lihat, kedua-dua nilai dikaitkan dengan 'c' dikekalkan. Walau bagaimanapun, kerana hanya terdapat satu kunci 'c' dalam tatasusunan yang digabungkan, hasilnya menjadi tatasusunan dalam tatasusunan.
Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Tatasusunan dengan Kekunci Identik dan Memelihara Semua Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!