Dalam PHP, tatasusunan ialah jenis data yang sangat penting, yang boleh digunakan untuk menyimpan dan memproses sejumlah besar data. Walau bagaimanapun, dalam proses menggunakan tatasusunan, kita mungkin menghadapi nilai pendua dalam tatasusunan Dalam kes ini, kita perlu menyahgandakan tatasusunan. Berikut akan memperkenalkan beberapa kaedah penyahduplikasi tatasusunan PHP biasa.
1. Gunakan fungsi array_unique() PHP
Fungsi array_unique() ialah fungsi penyahduplikasi PHP sendiri, yang boleh mengalih keluar nilai pendua daripada tatasusunan dengan mudah. Kaedah menggunakan fungsi ini adalah seperti berikut:
$array = array("a","b","c","d","a","b","e"); $new_array = array_unique($array); print_r($new_array);
Kod di atas akan mengeluarkan:
Array ( [0] => a [1] => b [2] => c [3] => d [6] => e )
Seperti yang anda lihat, nilai pendua "a" dan "b " dalam tatasusunan asal telah Dialih keluar.
Perlu diambil perhatian bahawa apabila menggunakan fungsi array_unique() untuk mengalih keluar pendua, nama kunci dalam tatasusunan akan dikekalkan. Jika anda ingin mengindeks semula tatasusunan, anda boleh menggunakan fungsi array_values(), contohnya:
$array = array("a","b","c","d","a","b","e"); $new_array = array_values(array_unique($array)); print_r($new_array);
Output:
Array ( [0] => a [1] => b [2] => c [3] => d [4] => e )
Susun atur telah diindeks semula.
2. Gunakan gelung untuk mengalih keluar pendua
Dalam PHP, anda juga boleh menggelungkan tatasusunan untuk mengalih keluar nilai pendua. Kod kaedah ini adalah seperti berikut:
$array = array("a","b","c","d","a","b","e"); $new_array = array(); foreach($array as $key=>$value){ if(!in_array($value,$new_array)){ $new_array[] = $value; } } print_r($new_array);
Dengan menentukan sama ada nilai tertentu wujud dalam tatasusunan, dan menambahkannya pada tatasusunan baharu jika ia tidak wujud, nilai pendua dalam tatasusunan boleh dikeluarkan. Hasil output ialah:
Array ( [0] => a [1] => b [2] => c [3] => d [4] => e )
3. Gunakan fungsi array_reduce() PHP Fungsi
array_reduce() ialah fungsi pengurangan tatasusunan yang boleh mengurangkan elemen dalam tatasusunan. Anda boleh menggunakan fungsi array_reduce() untuk mengalih keluar nilai pendua. Kod tersebut adalah seperti berikut:
$array = array("a","b","c","d","a","b","e"); $new_array = array_reduce($array, function($carry, $item){ if(!in_array($item, $carry)){ $carry[] = $item; } return $carry; }, array()); print_r($new_array);
Kod di atas menggunakan ciri fungsi tanpa nama dalam PHP7 Dengan menilai sama ada nilai tertentu wujud dalam tatasusunan, dan menambahkannya pada tatasusunan baharu jika ia tidak wujud , nilai dalam tatasusunan boleh dialih keluar. Hasil output ialah:
Array ( [0] => a [1] => b [2] => c [3] => d [4] => e )
4. Gunakan fungsi array_count_values() PHP
array_count_values() fungsi boleh mengembalikan bilangan kejadian setiap nilai dalam tatasusunan. Kodnya adalah seperti berikut:
$array = array("a","b","c","d","a","b","e"); $count_array = array_count_values($array); $new_array = array_keys($count_array); print_r($new_array);
Kod di atas mengira bilangan kejadian setiap nilai dalam tatasusunan dan memperoleh tatasusunan baharu melalui fungsi array_keys(). Hasil keluaran ialah:
Array ( [0] => a [1] => b [2] => c [3] => d [4] => e )
Tiada nilai pendua dalam tatasusunan baharu di sini.
Di atas ialah empat kaedah penyahduplikasi tatasusunan PHP biasa. Memilih kaedah yang paling sesuai untuk pemprosesan deduplikasi berdasarkan situasi sebenar boleh meningkatkan kecekapan pemprosesan tatasusunan dengan berkesan.
Atas ialah kandungan terperinci Bagaimana untuk menyahduplikasi tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!