Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk melaksanakan deduplikasi tatasusunan dalam php

Bagaimana untuk melaksanakan deduplikasi tatasusunan dalam php

PHPz
Lepaskan: 2023-03-29 11:45:49
asal
1515 orang telah melayarinya

Dalam pembangunan web, penyahduplikasi tatasusunan ialah operasi biasa. Dalam PHP, pelbagai kaedah disediakan untuk mencapai deduplikasi tatasusunan. Artikel ini akan memperkenalkan 3 kaedah yang paling biasa digunakan.

Kaedah 1: Gunakan fungsi array_unique()

Fungsi array_unique() boleh mengalih keluar elemen pendua daripada tatasusunan dan mengembalikan tatasusunan nyahduplikasi baharu. Menggunakan fungsi ini adalah sangat mudah, anda hanya perlu lulus dalam tatasusunan yang perlu dinyahduplikasi sebagai parameter. Berikut ialah contoh kod untuk fungsi ini:

<?php
$arr = array(1, 2, 2, 3, 4, 4, 5, 5);
$new_arr = array_unique($arr);
print_r($new_arr);
?>
Salin selepas log masuk

Hasil keluaran:

Array
(
    [0] => 1
    [1] => 2
    [3] => 3
    [4] => 4
    [6] => 5
)
Salin selepas log masuk
Salin selepas log masuk

Kaedah ini sangat mudah, tetapi ia tidak dapat mengekalkan nama kunci tatasusunan asal. Jika anda perlu mengekalkan nama kunci tatasusunan asal, anda boleh menggunakan kaedah yang diterangkan di bawah.

Kaedah 2: Gunakan gelung traversal

Menggunakan PHP untuk gelung atau gelung foreach, anda boleh melintasi keseluruhan tatasusunan dan mengalih keluar elemen pendua melalui pertimbangan. Berikut ialah contoh kod untuk menggunakan gelung foreach untuk melaksanakan penyahduplikasi tatasusunan:

<?php
$arr = array(1, 2, 2, 3, 4, 4, 5, 5);
$new_arr = array();
foreach ($arr as $value) {
    if (!in_array($value, $new_arr)) {
        $new_arr[] = $value;
    }
}
print_r($new_arr);
?>
Salin selepas log masuk

Hasil keluaran:

Array
(
    [0] => 1
    [1] => 2
    [3] => 3
    [4] => 4
    [6] => 5
)
Salin selepas log masuk
Salin selepas log masuk

Kaedah ini boleh mengekalkan nama kunci tatasusunan asal, tetapi memerlukan gelung traversal tatasusunan, jadi kecekapannya agak rendah.

Kaedah 3: Gunakan fungsi array_flip() dan array_keys()

Fungsi array_flip() boleh membalikkan nama kunci dan nilai kunci tatasusunan. Menggunakan fungsi ini, anda boleh menggunakan nilai tatasusunan asal sebagai nama kunci dan nama kunci sebagai nilai untuk menjana tatasusunan baharu. Kemudian gunakan fungsi array_keys() untuk mendapatkan nama kunci tatasusunan baharu, dengan itu mendapatkan tatasusunan pendua. Berikut ialah kod sampel:

<?php
$arr = array(1, 2, 2, 3, 4, 4, 5, 5);
$tmp_arr = array_flip($arr);
$new_arr = array_keys($tmp_arr);
print_r($new_arr);
?>
Salin selepas log masuk

Hasil keluaran:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
Salin selepas log masuk

Kaedah ini boleh mengekalkan nama utama tatasusunan asal dan lebih cekap, tetapi ia memerlukan penggunaan dua fungsi untuk membandingkan.

Ringkasan

Dalam pembangunan sebenar, pilih kaedah untuk melaksanakan deduplikasi tatasusunan mengikut situasi tertentu. Jika anda tidak perlu mengekalkan nama kunci tatasusunan asal, anda boleh menggunakan fungsi array_unique() yang paling mudah jika anda perlu mengekalkan nama kunci tatasusunan asal, anda perlu menggunakan loop traversal atau array_flip() dan array_keys; () fungsi.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan deduplikasi tatasusunan dalam php. 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