Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP mengalih keluar elemen pendua daripada tatasusunan satu dimensi

PHP mengalih keluar elemen pendua daripada tatasusunan satu dimensi

WBOY
WBOYasal
2023-05-19 09:44:371203semak imbas

Untuk tatasusunan satu dimensi, jika terdapat elemen pendua, mengalih keluar elemen pendua ini adalah keperluan biasa dalam pengaturcaraan. Dalam PHP kita boleh mencapai ini dalam beberapa cara. Artikel ini akan memperkenalkan beberapa kaedah yang biasa digunakan.

Kaedah 1: Gunakan fungsi array_unique

Fungsi array_unique ialah fungsi yang disertakan dengan PHP dan boleh mengalih keluar elemen pendua daripada tatasusunan dengan mudah. Ia boleh digunakan bukan sahaja untuk tatasusunan satu dimensi, tetapi juga untuk operasi penyahduplikasian tatasusunan berbilang dimensi.

Kod sampel:

$array = array('a', 'b', 'c', 'a', 'd', 'c');
$array_unique = array_unique($array);
print_r($array_unique);

Hasil keluaran:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [4] => d
)

Adalah sangat mudah untuk menggunakan fungsi array_unique untuk mengalih keluar unsur pendua. Walau bagaimanapun, perlu diingatkan bahawa fungsi array_unique hanya boleh mengalih keluar elemen pendua dengan nilai yang sama, tetapi bukan elemen pendua dengan nilai kunci yang sama.

Kaedah 2: Gunakan lintasan gelung

Cara lain untuk mengalih keluar pendua ialah menggunakan gelung untuk melintasi tatasusunan, membandingkan setiap elemen dengan elemen selepasnya satu demi satu jika elemen yang sama dijumpai, Alih keluarnya.

Kod sampel:

$array = array('a', 'b', 'c', 'a', 'd', 'c');
$count = count($array);
for($i=0;$i<$count;$i++){
    for($j=$i+1;$j<$count;$j++){
        if($array[$i] == $array[$j]){
            unset($array[$j]);
        }
    }
}
print_r($array);

Hasil output:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [4] => d
)

Menggunakan kaedah traversal gelung juga boleh dengan mudah mencapai penduaan, tetapi apabila tatasusunan agak besar, prestasi mungkin terjejas Pengaruh .

Kaedah 3: Gunakan fungsi array_flip dan array_values ​​​​

Kaedah ini menggunakan fungsi array_flip terbina dalam PHP, yang boleh menukar kunci dan nilai tatasusunan. Dengan cara ini, jika tatasusunan asal mempunyai nilai pendua, tatasusunan yang ditukar akan mempunyai kunci pendua, dan hanya yang terakhir akan dikekalkan dan selebihnya akan ditimpa secara automatik.

Kemudian, kami menggunakan fungsi array_values ​​untuk mengindeks semula tatasusunan yang disusun semula dan mengalih keluar surat-menyurat nilai kunci, dengan itu memperoleh tatasusunan pendua.

Kod sampel:

$array = array('a', 'b', 'c', 'a', 'd', 'c');
$array_flip = array_flip($array);
$array_unique = array_values($array_flip);
print_r($array_unique);

Hasil keluaran:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)

Kelebihan kaedah ini ialah ia boleh mengalih keluar pendua dengan cepat dan mengekalkan susunan tatasusunan asal. Walau bagaimanapun, ia hanya berfungsi untuk tatasusunan satu dimensi yang nilainya adalah rentetan, dan hasil yang tidak dijangka akan berlaku untuk jenis data lain (seperti tatasusunan, objek, dll.).

Ringkasnya, untuk mengalih keluar elemen pendua daripada tatasusunan satu dimensi, kita boleh menggunakan fungsi array_unique yang disertakan dengan PHP, atau kita boleh menggunakan kaedah traversal gelung atau fungsi array_flip dan array_values ​​​​. Bergantung pada keperluan sebenar dan jenis data, memilih kaedah yang sesuai dengan anda boleh meningkatkan kecekapan dan kebolehbacaan kod anda.

Atas ialah kandungan terperinci PHP mengalih keluar elemen pendua daripada tatasusunan satu dimensi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn