Bagaimana untuk mengekalkan nama kunci yang sama apabila menggabungkan tatasusunan dalam PHP

PHPz
Lepaskan: 2023-04-23 17:12:18
asal
623 orang telah melayarinya

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

Jika kita menggunakan fungsi array_merge() untuk menggabungkan dua tatasusunan ini, kodnya kelihatan seperti ini:

$c = array_merge($a, $b);
Salin selepas log masuk

Kemudian, hasil akhir tatasusunan yang digabungkan $c ialah:

array('apple'=>'green', 'banana'=>'yellow', 'orange'=>'orange', 'pear'=>'yellow', 'grape'=>'purple');
Salin selepas log masuk

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

Kemudian, hasil akhir tatasusunan $c akan menjadi:

array('apple'=>array('red', 'green'), 'banana'=>'yellow', 'orange'=>'orange', 'pear'=>'yellow', 'grape'=>'purple');
Salin selepas log masuk

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

Kemudian, hasil akhir tatasusunan $c ialah:

array('apple'=>'red', 'banana'=>'yellow', 'orange'=>'orange', 'pear'=>'yellow', 'grape'=>'purple');
Salin selepas log masuk

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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!