Mari kita bincangkan tentang kaedah biasa untuk mengalih keluar pendua daripada tatasusunan PHP

PHPz
Lepaskan: 2023-04-19 14:04:56
asal
580 orang telah melayarinya

Dalam PHP, penyahduplikasian tatasusunan ialah operasi biasa. Kerana mungkin terdapat unsur pendua dalam tatasusunan, operasi penyahduplikasian membolehkan kami memperoleh dengan jelas semua elemen yang berbeza dalam tatasusunan. Di bawah ini saya akan memperkenalkan beberapa kaedah deduplikasi tatasusunan yang biasa digunakan.

1. Gunakan fungsi array_unique

Fungsi array_unique ialah fungsi deduplikasi satu langkah yang disertakan dengan PHP. Fungsinya adalah untuk mengalih keluar nilai pendua daripada tatasusunan dan mengembalikan tatasusunan baharu.

Kod contoh:

$array = array('apple', 'orange', 'banana', 'apple', 'orange');
$new_array = array_unique($array);
print_r($new_array);
Salin selepas log masuk

Hasil keluaran:

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

2 Gunakan lintasan gelung

Selain fungsi array_unique, kita boleh juga Gunakan kaedah traversal gelung untuk mencapai penyahduplikasian tatasusunan. Kaedah pelaksanaan khusus adalah untuk mencipta tatasusunan kosong dahulu, dan kemudian menggelung elemen dalam tatasusunan asal untuk menentukan sama ada ia telah muncul dalam tatasusunan baharu. Jika tidak, tambahkan elemen itu pada tatasusunan baharu. Akhir sekali, kembalikan tatasusunan baharu ini.

Kod contoh:

$array = array('apple', 'orange', 'banana', 'apple', 'orange');
$new_array = array();
foreach($array as $value){
    if(!in_array($value, $new_array)){
        $new_array[] = $value;
    }
}
print_r($new_array);
Salin selepas log masuk

Hasil keluaran:

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

3 Gunakan fungsi array_flip dan array_keys

Kaedah lain ialah menggunakan array_flip dan. fungsi array_keys. Fungsi array_flip boleh membalikkan kunci dan nilai dalam tatasusunan, manakala fungsi array_keys boleh mengembalikan senarai semua kunci dalam tatasusunan. Oleh itu, kita boleh mula-mula menggunakan fungsi array_flip untuk menggunakan nilai sebagai kunci, dan kemudian gunakan fungsi array_keys untuk mendapatkan kunci ini Hasil akhir ialah tatasusunan yang dinyahduplikasi.

Kod sampel:

$array = array('apple', 'orange', 'banana', 'apple', 'orange');
$new_array = array_keys(array_flip($array));
print_r($new_array);
Salin selepas log masuk

Hasil keluaran:

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

4. Gunakan fungsi array_filter

Kaedah terakhir ialah menggunakan array_filter fungsi. Fungsi array_filter boleh menggunakan fungsi panggil balik yang ditentukan untuk menapis setiap elemen dalam tatasusunan, dan akhirnya mengembalikan tatasusunan yang ditapis. Kaedah pelaksanaan khusus adalah dengan terlebih dahulu mentakrifkan fungsi tanpa nama sebagai fungsi panggil balik, dan kemudian lulus fungsi ini sebagai parameter kepada fungsi array_filter apabila menapis.

Kod sampel:

$array = array('apple', 'orange', 'banana', 'apple', 'orange');
$new_array = array_filter($array, function($value, $key){
    static $unique = array();
    if(!in_array($value, $unique)){
        $unique[] = $value;
        return true;
    }
    return false;
}, ARRAY_FILTER_USE_BOTH);
print_r($new_array);
Salin selepas log masuk

Hasil keluaran:

Array
(
    [0] => apple
    [1] => orange
    [2] => banana
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Di atas ialah empat kaedah penyahduplikasi tatasusunan PHP yang biasa digunakan. Bergantung pada situasi tertentu, kita boleh memilih kaedah yang berbeza secara fleksibel untuk mencapai penyahduplikasi tatasusunan untuk mencapai hasil yang lebih baik.

Atas ialah kandungan terperinci Mari kita bincangkan tentang kaedah biasa untuk mengalih keluar pendua daripada tatasusunan 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