Dalam PHP, tatasusunan ialah struktur data yang kerap digunakan yang boleh digunakan untuk menyimpan berbilang nilai. Dalam pembangunan sebenar, kita selalunya perlu mengendalikan tatasusunan, seperti mengalih keluar elemen pendua daripada tatasusunan. Artikel ini akan memperkenalkan beberapa kaedah untuk mencapai fungsi ini.
Fungsi array_unique dalam PHP boleh mengalih keluar elemen pendua daripada tatasusunan dan mengembalikan tatasusunan yang diproses. Berikut ialah contoh:
$array = array('a', 'b', 'c', 'a', 'd', 'b'); $new_array = array_unique($array); print_r($new_array);
Kod di atas akan mengeluarkan yang berikut:
Array ( [0] => a [1] => b [2] => c [4] => d )
Nota: Menggunakan kaedah ini akan menyusun semula tatasusunan dan menghapuskan nilai kunci asal. Jika anda perlu mengekalkan indeks tatasusunan asal, anda boleh menggunakan kaedah berikut.
Gunakan gelung foreach untuk melintasi tatasusunan untuk menentukan sama ada elemen sudah wujud, dan jika ia tidak wujud, tambah tatasusunan baharu. Berikut ialah kod sampel:
$array = array('a', 'b', 'c', 'a', 'd', 'b'); $new_array = array(); foreach($array as $value) { if(!in_array($value, $new_array)) { $new_array[] = $value; } } print_r($new_array);
Kod di atas akan mengeluarkan yang berikut:
Array ( [0] => a [1] => b [2] => c [4] => d )
Kaedah ini tidak menyusun semula tatasusunan dan boleh mengekalkan indeks asal.
Gunakan fungsi array_flip untuk menggunakan nilai array sebagai kunci dan kunci sebagai nilai, dan kemudian gunakan fungsi array_keys untuk dapatkan nilai kunci untuk mengalih keluar elemen pendua. Berikut ialah kod sampel:
$array = array('a', 'b', 'c', 'a', 'd', 'b'); $new_array = array_keys(array_flip($array)); print_r($new_array);
Kod di atas akan mengeluarkan yang berikut:
Array ( [0] => a [1] => b [2] => c [3] => d )
Kaedah ini juga tidak menyusun semula tatasusunan dan boleh mengekalkan indeks asal.
Gunakan fungsi array_reduce untuk mengurangkan tatasusunan kepada satu nilai dengan menghantar semua nilai dalam tatasusunan kepada fungsi panggil balik satu demi satu satu. Anda boleh menggunakan nilai pulangan fungsi panggil balik sebagai tatasusunan baharu dan alih keluar pendua. Berikut ialah kod sampel:
$array = array('a', 'b', 'c', 'a', 'd', 'b'); $new_array = array_reduce($array, function(&$result, $item) { if(!in_array($item, $result)) { $result[] = $item; } return $result; }, array()); print_r($new_array);
Kod di atas akan mengeluarkan yang berikut:
Array ( [0] => a [1] => b [2] => c [4] => d )
Kaedah ini juga tidak menyusun semula tatasusunan dan boleh mengekalkan indeks asal.
Ringkasan
Di atas memperkenalkan empat kaedah untuk mengalih keluar elemen pendua dalam tatasusunan, iaitu menggunakan fungsi array_unique, menggunakan lintasan gelung foreach, menggunakan fungsi array_flip dan array_keys, dan menggunakan fungsi array_reduce . Kaedah khusus untuk dipilih boleh diputuskan mengikut senario aplikasi dan keperluan sebenar Kaedah yang berbeza mempunyai kelebihan dan kekurangan yang berbeza.
Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar elemen pendua daripada tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!