Bagaimana untuk Menggabungkan Tatasusunan dengan Kekunci Identik dan Memelihara Semua Data?

DDD
Lepaskan: 2024-11-03 12:15:29
asal
614 orang telah melayarinya

How to Merge Arrays with Identical Keys and Preserve All Data?

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan