Memanipulasi tatasusunan ialah tugas biasa dalam pembangunan PHP. Tetapi jika terdapat unsur pendua dalam tatasusunan, anda perlu menggunakan beberapa kaedah untuk mengalih keluar pendua. Artikel ini akan menunjukkan kepada anda cara mengalih keluar tatasusunan dengan nilai yang sama menggunakan PHP.
fungsi array_unique() ialah fungsi deduplikasi PHP sendiri, yang boleh mengalih keluar elemen yang sama dengan mudah adalah seperti berikut:
array array_unique(array $array [, int $sort_flags = SORT_STRING ])
Perihalan parameter:
Kaedah penggunaan adalah seperti berikut:
$originalArray = array('a', 'b', 'c', 'a', 'b'); $uniqueArray = array_unique($originalArray); print_r($uniqueArray); // 输出 // Array // ( // [0] => a // [1] => b // [2] => c // )
Ia boleh dilihat bahawa fungsi array_unique() boleh dengan mudah mengeluarkan elemen pendua dalam tatasusunan dan mengekalkan elemen bukan pendua.
Selain fungsi array_unique(), anda juga boleh menggunakan gelung untuk mengalih keluar pendua. Seluruh proses adalah seperti ini: lelaran melalui tatasusunan asal, bandingkan setiap elemen, dan jika elemen yang sama ditemui, tapiskannya.
Kod operasi khusus adalah seperti berikut:
$originalArray = array('a', 'b', 'c', 'a', 'b'); $uniqueArray = array(); foreach($originalArray as $value){ if(!in_array($value, $uniqueArray)){ $uniqueArray[] = $value; } } print_r($uniqueArray); // 输出 // Array // ( // [0] => a // [1] => b // [2] => c // )
Kaedah ini perlu merentasi keseluruhan tatasusunan Apabila tatasusunan besar, ia tidak secekap fungsi array_unique().
Menggunakan kaedah ini memerlukan langkah pertama untuk menukar nilai dan kunci tatasusunan, iaitu , tatasusunan asal Tukar kepada tatasusunan baharu dengan nilai sebagai kunci dan kunci sebagai nilai. Ini boleh dicapai menggunakan fungsi array_flip().
Seterusnya, anda boleh menggunakan fungsi array_keys() untuk mendapatkan semua kunci tatasusunan baharu, iaitu elemen bukan pendua. Kod khusus adalah seperti berikut:
$originalArray = array('a', 'b', 'c', 'a', 'b'); $newArray = array_flip($originalArray); $uniqueArray = array_keys($newArray); print_r($uniqueArray); // 输出 // Array // ( // [0] => a // [1] => b // [2] => c // )
Menggunakan kaedah ini, walaupun tatasusunan asal adalah besar, kecekapannya sangat tinggi.
Ringkasnya, terdapat banyak cara untuk mengalih keluar tatasusunan dengan nilai yang sama dalam PHP, dan anda boleh memilih kaedah yang hendak digunakan mengikut situasi sebenar. Sudah tentu, jika elemen tatasusunan adalah jenis kompleks seperti objek, fungsi array_unique() mungkin tidak berfungsi. Dalam kes ini, anda boleh mencapai penyahduplikasian melalui kaedah seperti fungsi perbandingan tersuai.
Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar tatasusunan dengan nilai yang sama dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!