Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menyambung tatasusunan php tanpa pendua
PHP ialah bahasa pengaturcaraan yang sangat popular Ia mempunyai fungsi tatasusunan yang berkuasa yang boleh melaksanakan pelbagai operasi pada tatasusunan. Dalam PHP, penggabungan tatasusunan adalah operasi yang sangat biasa. Walau bagaimanapun, apabila kita perlu menggabungkan dua tatasusunan, elemen pendua mungkin akan muncul. Jadi, apa yang perlu dilakukan? Artikel ini akan memperkenalkan cara menggunakan fungsi tatasusunan PHP untuk menyambung tatasusunan dan mengelakkan unsur pendua.
1. Gunakan fungsi array_merge() untuk menyambung tatasusunan
PHP menyediakan fungsi array_merge(), yang boleh digunakan untuk menggabungkan dua atau lebih tatasusunan ke dalam tatasusunan baru. Sintaksnya adalah seperti berikut:
array array_merge ( array $array1 [, array $... ] )
Fungsi ini boleh menerima dua atau lebih tatasusunan sebagai parameter, ia akan menggabungkan semua elemen dalam tatasusunan ini ke dalam tatasusunan baharu dan mengembalikan tatasusunan baharu ini. Berikut ialah demonstrasi mudah:
$array1 = array('a', 'b', 'c'); $array2 = array('d', 'e', 'f'); $result = array_merge($array1, $array2); print_r($result);
Hasil keluaran adalah seperti berikut:
Array ( [0] => a [1] => b [2] => c [3] => d [4] => e [5] => f )
Begitu juga, kita boleh menggabungkan tiga tatasusunan menjadi tatasusunan baharu:
$array1 = array('a', 'b', 'c'); $array2 = array('d', 'e', 'f'); $array3 = array('g', 'h', 'i'); $result = array_merge($array1, $array2, $array3); print_r($result);
Keluaran keputusan Seperti berikut:
Array ( [0] => a [1] => b [2] => c [3] => d [4] => e [5] => f [6] => g [7] => h [8] => i )
Seperti yang anda lihat daripada output, fungsi array_merge() boleh menggabungkan berbilang tatasusunan menjadi satu tatasusunan. Walau bagaimanapun, jika dua atau lebih tatasusunan mempunyai elemen yang sama, elemen tersebut akan diulang dalam tatasusunan baharu.
2 Gunakan fungsi array_unique() untuk mengalih keluar elemen pendua
PHP menyediakan fungsi array_unique() yang sangat mudah, yang boleh digunakan untuk mengalih keluar elemen pendua dalam tatasusunan dan mengembalikan yang baharu array , hanya kejadian pertama elemen dikekalkan. Sintaksnya adalah seperti berikut:
array array_unique ( array $array [, int $sort_flags = SORT_STRING ] );
Fungsi ini menerima tatasusunan sebagai parameter dan mengembalikan tatasusunan baharu yang tidak mengandungi unsur pendua. Secara lalai, fungsi ini mengalih keluar elemen pendua dan mengekalkan elemen pertama yang berlaku. Berikut ialah demonstrasi mudah:
$array = array('a', 'b', 'c', 'a', 'b', 'c'); $result = array_unique($array); print_r($result);
Output adalah seperti berikut:
Array ( [0] => a [1] => b [2] => c )
Seperti yang anda lihat daripada output, fungsi array_unique() boleh mengalih keluar elemen pendua daripada tatasusunan dan mengembalikan a tatasusunan baharu. Tatasusunan baharu ini hanya mengekalkan kejadian pertama elemen.
3. Gunakan fungsi array_merge() dan array_unique() untuk menyambung tatasusunan
Menyambung dua tatasusunan kepada tatasusunan baharu ialah operasi yang sangat biasa. Walau bagaimanapun, jika terdapat elemen yang sama dalam kedua-dua tatasusunan, elemen tersebut akan diulang dalam tatasusunan baharu. Untuk mengelakkan situasi ini, mula-mula kita boleh menggunakan fungsi array_merge() untuk menyertai dua tatasusunan, dan kemudian gunakan fungsi array_unique() untuk mengalih keluar elemen pendua. Berikut ialah demonstrasi mudah:
$array1 = array('a', 'b', 'c'); $array2 = array('c', 'd', 'e'); $result = array_unique(array_merge($array1, $array2)); print_r($result);
Hasil output adalah seperti berikut:
Array ( [0] => a [1] => b [2] => c [4] => d [5] => e )
Seperti yang anda boleh lihat daripada hasil output, kami mula-mula menggunakan fungsi array_merge() untuk menyambung $array1 dan tatasusunan $array2 ke dalam tatasusunan baharu, dan kemudian gunakan fungsi array_unique() untuk mengalih keluar elemen pendua, dan akhirnya mendapatkan tatasusunan bukan pendua baharu.
4. Gunakan fungsi array_push() untuk menyambung tatasusunan
PHP juga menyediakan fungsi array_push(), yang boleh digunakan untuk menolak satu atau lebih elemen ke hujung tatasusunan. Sintaks fungsi ini adalah seperti berikut:
int array_push ( array &$array , mixed $values [, mixed $... ] );
Fungsi ini menerima tatasusunan sebagai parameter dan menolak satu atau lebih elemen ke penghujung tatasusunan, mengembalikan panjang tatasusunan baharu. Berikut ialah demonstrasi mudah:
$array1 = array('a', 'b', 'c'); $array2 = array('d', 'e', 'f'); foreach($array2 as $value) { if(!in_array($value, $array1)) { array_push($array1, $value); } } print_r($array1);
Hasil keluaran adalah seperti berikut:
Array ( [0] => a [1] => b [2] => c [3] => d [4] => e [5] => f )
Seperti yang anda boleh lihat daripada hasil keluaran, kami mula-mula membandingkan unsur-unsur tatasusunan $array1 dan unsur-unsur daripada tatasusunan $array2 satu demi satu Jika Elemen ini tidak wujud dalam tatasusunan $array1, jadi kami menggunakan fungsi array_push() untuk menolak elemen ini ke penghujung tatasusunan, dan akhirnya mendapatkan tatasusunan bukan pendua yang baharu.
Ringkasan:
Melalui pengenalan di atas, kita dapat melihat bahawa kaedah penyambungan tatasusunan tanpa duplikasi dalam PHP adalah sangat mudah. Kita boleh menggunakan fungsi tatasusunan array_merge() dan array_unique() yang disediakan oleh PHP untuk beroperasi, atau kita boleh menggunakan fungsi array_push() untuk beroperasi. Walau bagaimanapun, perlu diingatkan bahawa apabila menggunakan fungsi ini, kita perlu mempertimbangkan sepenuhnya bahawa nilai nol atau nilai Boolean mungkin wujud dalam tatasusunan. Kerana nilai-nilai ini mencipta beberapa masalah apabila membandingkannya. Oleh itu, apabila menggunakan fungsi ini, adalah lebih baik untuk menilai dan menapis terlebih dahulu untuk memastikan ketepatan dan kebolehpercayaan program.
Atas ialah kandungan terperinci Bagaimana untuk menyambung tatasusunan php tanpa pendua. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!