PHP ialah bahasa skrip sumber terbuka yang berkuasa yang digunakan untuk pembangunan web. Antaranya, tatasusunan adalah salah satu struktur data yang paling biasa digunakan dalam PHP. Dalam pembangunan sebenar, selalunya perlu untuk menggabungkan dua atau lebih tatasusunan bersama-sama. Pada masa ini, kami selalunya perlu mengekalkan nama kunci tidak berubah untuk memudahkan operasi seterusnya. Artikel ini akan menerangkan cara untuk mengekalkan nama kunci tidak berubah apabila menggabungkan tatasusunan dalam PHP.
Fungsi untuk menggabungkan tatasusunan dalam PHP termasuk array_merge() dan array_merge_recursive(). array_merge() menggabungkan tatasusunan bersama-sama dan mengembalikan tatasusunan yang digabungkan. array_merge_recursive() menggabungkan dua elemen dengan nama kunci yang sama ke dalam tatasusunan dan mengembalikan tatasusunan yang digabungkan. Kedua-dua fungsi boleh menggabungkan tatasusunan, tetapi ia berbeza dalam cara ia mengendalikan elemen dengan kunci yang sama.
Sebagai contoh, kita mempunyai dua tatasusunan $a dan $b:
$a = array('apple'=>'red', 'banana'=>'yellow', 'orange'=>'orange'); $b = array('apple'=>'green', 'pear'=>'yellow', 'grape'=>'purple');
Jika kita menggunakan fungsi array_merge() untuk menggabungkan dua tatasusunan ini, kodnya kelihatan seperti ini:
$c = array_merge($a, $b);
Kemudian, hasil akhir tatasusunan yang digabungkan $c ialah:
array('apple'=>'green', 'banana'=>'yellow', 'orange'=>'orange', 'pear'=>'yellow', 'grape'=>'purple');
Seperti yang anda lihat, kerana hanya pasangan nilai kunci dalam tatasusunan berikutnya dikekalkan selepas merge, Oleh itu, elemen dengan nama kunci epal dalam $a ditimpa oleh elemen dengan nama kunci yang sama dalam $b.
Jika kita menggunakan fungsi array_merge_recursive() untuk menggabungkan dua tatasusunan ini, kodnya adalah seperti berikut:
$c = array_merge_recursive($a, $b);
Kemudian, hasil akhir tatasusunan $c akan menjadi:
array('apple'=>array('red', 'green'), 'banana'=>'yellow', 'orange'=>'orange', 'pear'=>'yellow', 'grape'=>'purple');
Seperti yang anda boleh lihat, memandangkan elemen dengan nama kunci yang sama digabungkan menjadi tatasusunan selepas digabungkan, elemen dengan nama kunci epal dikekalkan.
Walau bagaimanapun, walaupun fungsi array_merge_recursive() boleh mengekalkan nama kunci tidak berubah, dalam beberapa kes, kami tidak mahu menggabungkan elemen dengan nama kunci yang sama ke dalam tatasusunan. Sebagai contoh, jika kita perlu menggabungkan dua tatasusunan ke dalam tatasusunan yang sama, dan dua tatasusunan mengandungi nama kunci yang sama, tetapi nilainya berbeza, maka kita perlu mengekalkan nama kunci itu tidak berubah untuk memudahkan operasi berikutnya.
Jadi, bagaimana untuk memastikan nama kunci tidak berubah apabila menggabungkan tatasusunan dalam PHP? Cara yang mudah dan praktikal ialah menggunakan operator "+". Sebagai contoh, kami masih menggunakan dua tatasusunan $a dan $b di atas, dan kodnya adalah seperti berikut:
$c = $a + $b;
Kemudian, hasil akhir tatasusunan $c ialah:
array('apple'=>'red', 'banana'=>'yellow', 'orange'=>'orange', 'pear'=>'yellow', 'grape'=>'purple');
Anda boleh melihat bahawa kerana pengendali "+" digunakan, elemen dengan nama kunci epal dalam $a tidak digantikan dengan elemen dengan nama yang sama dalam $b, tetapi dikekalkan. Dengan cara ini, kami berjaya menggabungkan dua tatasusunan dan mengekalkan nama kunci mereka tidak berubah.
Sudah tentu, kaedah di atas hanya digunakan pada tatasusunan bersekutu semata-mata Untuk tatasusunan indeks angka, walaupun pengendali "+" digunakan, nama kunci akan berubah. Oleh itu, apabila berurusan dengan tatasusunan yang diindeks secara berangka, kaedah lain diperlukan untuk memastikan nama kunci tidak berubah.
Ringkasnya, apabila menggabungkan tatasusunan dalam PHP, anda harus memilih fungsi atau operator yang sesuai mengikut keperluan yang berbeza untuk memastikan ketepatan dan kecekapan operasi. Apabila bekerja dengan tatasusunan bersekutu, anda boleh menggunakan operator "+" untuk menggabungkan tatasusunan dan memastikan kekunci tidak berubah.
Atas ialah kandungan terperinci Bagaimana untuk mengekalkan nama kunci yang sama apabila menggabungkan tatasusunan dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!