Dalam PHP, tatasusunan ialah jenis data yang sangat biasa digunakan, dan kadangkala kita perlu menyahganda tatasusunan untuk memenuhi keperluan kita. Jadi, bagaimana untuk mengalih keluar tatasusunan pendua dalam PHP?
1. Fungsi deduplikasi tatasusunan PHP
PHP menyediakan dua fungsi yang boleh digunakan untuk melaksanakan deduplikasi tatasusunan, iaitu array_unique() dan array_diff_key().
fungsi array_unique() boleh mengalih keluar nilai pendua daripada tatasusunan dan mengembalikan tatasusunan baharu.
Kod sampel:
$arr = array("apple", "banana", "cherry", "cherry", "banana"); $arr = array_unique($arr); print_r($arr);
Hasil keluaran:
Array ( [0] => apple [1] => banana [2] => cherry )
Ia boleh dilihat bahawa fungsi array_unique() berjaya mengalih keluar elemen pendua dalam tatasusunan asal.
fungsi array_diff_key() boleh membandingkan dua tatasusunan dan mengembalikan nama kunci perbezaan antara dua tatasusunan.
Kod sampel:
$array1 = array("a" => "red", "b" => "green", "c" => "blue"); $array2 = array("a" => "red", "b" => "green", "d" => "yellow"); $result = array_diff_key($array1, $array2); print_r($result);
Hasil output:
Array ( [c] => blue )
Dalam contoh, fungsi array_diff_key() menapis bahagian $array1 yang berbeza daripada $array2 , dikembalikan sebagai tatasusunan baharu.
2. Melaksanakan penyahduplikasi tatasusunan secara manual
Selain menggunakan fungsi PHP, kami juga boleh melaksanakan penyahduplikasian tatasusunan secara manual.
Gunakan gelung for dan jika pernyataan untuk melintasi tatasusunan, kenal pasti elemen pendua dan alih keluarnya.
Kod sampel:
$arr = array(1, 2, 5, 2, 1, 6, 7, 8, 7, 9); $new_arr = array(); for ($i = 0; $i < count($arr); $i++) { if (!in_array($arr[$i], $new_arr)) { $new_arr[] = $arr[$i]; } } print_r($new_arr);
Hasil keluaran:
Array ( [0] => 1 [1] => 2 [2] => 5 [3] => 6 [4] => 7 [5] => 8 [6] => 9 )
Fungsi in_array() menentukan sama ada elemen dalam tatasusunan asal telah pun muncul dalam tatasusunan baharu , jika tidak, tambahkannya pada tatasusunan baharu.
Gunakan fungsi array_flip() untuk membalik tatasusunan Selepas mengalih keluar pasangan nilai kunci pendua, gunakan fungsi array_flip() untuk membalik tatasusunan .
Kod sampel:
$arr = array(1, 2, 5, 2, 1, 6, 7, 8, 7, 9); $new_arr = array_flip(array_flip($arr)); print_r($new_arr);
Hasil keluaran:
Array ( [0] => 1 [1] => 2 [2] => 5 [3] => 6 [4] => 7 [5] => 8 [6] => 9 )
Kaedah ini tidak perlu menggunakan gelung, hanya gunakan fungsi array_flip() dua kali.
3. Ringkasan
Di atas ialah beberapa kaedah untuk mengalih keluar tatasusunan pendua dalam PHP Anda boleh memilih kaedah yang sepadan mengikut situasi tertentu. Fungsi array_unique() dan array_diff_key() adalah fungsi PHP sendiri dan mempunyai kecekapan yang agak tinggi Walaupun pelaksanaan manual memerlukan sejumlah besar kod, ia boleh dilaraskan dan dioptimumkan secara fleksibel mengikut situasi sebenar.
Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar tatasusunan pendua dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!