Rumah > Artikel > pembangunan bahagian belakang > Dua cara untuk mengalih keluar data pendua daripada tatasusunan dalam PHP
Apabila melakukan pemprosesan data dalam PHP, kami sering menghadapi masalah seperti ini: terdapat tatasusunan yang menyimpan data, tetapi terdapat unsur pendua dalam tatasusunan dan unsur pendua perlu dialih keluar. Jadi bagaimana untuk menyelesaikan masalah ini?
Kaedah 1: Gunakan array_unique fungsi PHP sendiri
PHP menyediakan array_unique fungsi yang sangat mudah, yang boleh merealisasikan fungsi penyahduplikasi tatasusunan.
digunakan seperti berikut:
array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )
di mana $array ialah tatasusunan yang perlu dinyahduplikasi, $sort_flags ialah parameter pilihan, menunjukkan kaedah pengisihan.
Prinsip fungsi ini ialah: mencipta tatasusunan kosong baharu, melintasi elemen dalam tatasusunan asal, jika elemen itu tidak wujud dalam tatasusunan baharu, tambahkan elemen itu kepada tatasusunan baharu.
Contohnya:
$arr = array(1, 2, 2, 3, 4, 4, 4, 5); $arr = array_unique($arr); print_r($arr);
Hasil output ialah:
Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [7] => 5 )
Seperti yang anda boleh lihat, elemen pendua dalam tatasusunan asal telah dialih keluar.
Kaedah 2: Melintasi tatasusunan
Selain menggunakan fungsi yang disertakan dengan PHP, anda juga boleh mencapai penyahduplikasian dengan melintasi tatasusunan.
Kaedah khusus ialah: cipta tatasusunan kosong baharu, lintasi elemen dalam tatasusunan asal, jika elemen itu tidak wujud dalam tatasusunan baharu, tambahkan elemen itu pada tatasusunan baharu.
Kod ini dilaksanakan seperti berikut:
$arr = array(1, 2, 2, 3, 4, 4, 4, 5); $new_arr = array(); // 新数组 foreach ($arr as $value) { if (!in_array($value, $new_arr)) { // $value 在 $new_arr 中不存在 $new_arr[] = $value; // 添加到 $new_arr 中 } } print_r($new_arr); // 输出新数组
Hasil output ialah:
Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [7] => 5 )
Berbanding dengan kaedah satu, kaedah ini agak menyusahkan, tetapi mengetahui prinsip asas ialah Memahami dalaman tatasusunan PHP adalah berguna.
Perlu diambil perhatian bahawa kecekapan kaedah dua adalah agak rendah, kerana ia perlu menentukan sama ada elemen itu wujud dalam tatasusunan baharu apabila merentasi Jika tatasusunan asal mempunyai lebih banyak elemen, masa berjalan mungkin lebih lama .
Ringkasnya, terdapat dua cara utama untuk menyahduplikasi tatasusunan PHP: menggunakan array_unique fungsi terbina dalam PHP dan merentasi tatasusunan kedua-dua kaedah boleh mencapai fungsi penyahduplikasian, antaranya menggunakan array_unique fungsi terbina dalam PHP lebih berkesan dan cepat.
Atas ialah kandungan terperinci Dua cara untuk mengalih keluar data pendua daripada tatasusunan dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!