PHP mengalih keluar elemen pendua daripada tatasusunan satu dimensi

WBOY
Lepaskan: 2023-05-19 09:44:37
asal
1259 orang telah melayarinya

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);
Salin selepas log masuk

Hasil keluaran:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [4] => d
)
Salin selepas log masuk
Salin selepas log masuk

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);
Salin selepas log masuk

Hasil output:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [4] => d
)
Salin selepas log masuk
Salin selepas log masuk

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);
Salin selepas log masuk

Hasil keluaran:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan