Apabila membangun dalam PHP, kita biasanya perlu mengendalikan tatasusunan Salah satu masalah biasa ialah cara mengalih keluar elemen yang sama dalam tatasusunan. Elemen yang sama akan menjejaskan statistik dan pemprosesan data kami, jadi pertindihan perlu dialih keluar sebelum analisis data biasa boleh dilakukan. Tetapi bagaimana untuk mengalih keluar elemen yang sama dari tatasusunan? Artikel ini akan memperkenalkan beberapa cara berbeza untuk menyelesaikan masalah ini.
Kaedah 1: Gunakan fungsi array_unique() PHP
Fungsi array_unique() ialah fungsi terbina dalam PHP, digunakan untuk mengalih keluar elemen pendua daripada tatasusunan. Fungsi ini mengembalikan tatasusunan baharu yang mengandungi semua nilai berbeza dalam tatasusunan asal. Berikut ialah contoh:
// 定义一个有重复元素的数组 $array = array(1, 2, 2, 3, 4, 4, 5); // 使用array_unique()函数去重 $new_array = array_unique($array); // 输出结果 print_r($new_array);
Menjalankan kod di atas akan mengeluarkan hasil berikut:
Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 )
Seperti yang anda boleh lihat, fungsi array_unique() mengalih keluar semua elemen pendua dan mengembalikan tatasusunan baharu.
Kaedah 2: Gunakan fungsi array_flip() dan array_keys() PHP
Cara lain untuk mengalih keluar pendua ialah menggunakan fungsi array_flip() dan array_keys(). Fungsi array_flip() boleh menukar kunci dan nilai dalam tatasusunan, manakala fungsi array_keys() boleh mengembalikan nilai semua kunci dalam tatasusunan. Oleh itu, kita boleh menggunakan dua fungsi ini untuk mengalih keluar elemen pendua daripada tatasusunan. Berikut ialah contoh:
// 定义一个有重复元素的数组 $array = array(1, 2, 2, 3, 4, 4, 5); // 使用array_flip()和array_keys()函数去重 $new_array = array_keys(array_flip($array)); // 输出结果 print_r($new_array);
Jalankan kod di atas dan anda akan mendapat hasil yang sama seperti contoh sebelumnya.
Kaedah 3: Gunakan perbandingan gelung
Selain menggunakan fungsi terbina dalam, kami juga boleh menggunakan perbandingan gelung untuk mengalih keluar pendua. Prinsip kaedah ini adalah untuk merentasi setiap elemen dalam tatasusunan, bandingkan dengan semua elemen sebelumnya dalam tatasusunan, jika ia sama dengan elemen sebelumnya, langkau ia, jika tidak tambahkannya pada tatasusunan baru. Berikut ialah contoh:
// 定义一个有重复元素的数组 $array = array(1, 2, 2, 3, 4, 4, 5); // 使用循环对比的方法去重 $new_array = array(); foreach($array as $item) { if(!in_array($item, $new_array)) { $new_array[] = $item; } } // 输出结果 print_r($new_array);
Jalankan kod di atas dan anda akan mendapat hasil yang sama seperti dua contoh sebelumnya.
Ringkasan
Di atas ialah tiga kaedah yang biasa digunakan untuk penduaan. Apabila memilih kaedah, pertimbangkan saiz data serta kecekapan kod. Jika saiz data agak kecil, kita boleh menggunakan sebarang kaedah; tetapi jika saiz data adalah sangat besar, kecekapan menjadi isu penting Pada masa ini, kaedah yang paling cekap harus digunakan untuk membuang pendua untuk mengelakkan program berjalan terlalu perlahan . Tidak kira kaedah yang digunakan, deduplikasi adalah operasi biasa dalam pembangunan program dan memerlukan kita menguasainya dengan mahir.
Atas ialah kandungan terperinci PHP mengalih keluar tatasusunan yang sama. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!