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

Bagaimana untuk menyahduplikasi tatasusunan dalam php

PHPz
Lepaskan: 2023-04-18 15:33:35
asal
2177 orang telah melayarinya

PHP ialah bahasa pengaturcaraan berkuasa yang digunakan secara meluas dalam pembangunan web dan pemprosesan data. Apabila membangun dalam PHP, selalunya perlu untuk menyahduplikasi tatasusunan untuk menghapuskan masalah dan pengiraan yang tidak perlu yang disebabkan oleh data pendua. Artikel ini akan memperkenalkan kaedah dan teknik tentang cara menyahduplikasi tatasusunan dalam PHP.

1. Gunakan fungsi array_unique()

Fungsi array_unique() dalam PHP ialah kaedah paling asas dan mudah untuk mencapai deduplikasi tatasusunan. Fungsi ini boleh mengalih keluar elemen pendua daripada tatasusunan dan mengembalikan tatasusunan baharu. Sintaks asas adalah seperti berikut:

array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )

Antaranya, $array mewakili array yang akan diduplikasi dan $sort_flags mewakili parameter pilihan Digunakan untuk menentukan kaedah pengisihan semasa penyahduplikasi. Jika $sort_flags tidak dinyatakan, pengisihan dilakukan dalam mod rentetan secara lalai. Contohnya:

$arr = array('epal', 'pisang', 'oren', 'epal', 'oren');
$arr = array_unique($arr);
print_r ($arr);

Kod di atas akan mengeluarkan keputusan berikut:

Array
(

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

)

Anda boleh lihat melalui kod di atas Ia menunjukkan bahawa menggunakan fungsi array_unique() boleh mengalih keluar elemen pendua daripada tatasusunan dengan mudah.

2. Gunakan fungsi array_flip()

Kaedah lain ialah menggunakan fungsi array_flip(). Fungsi ini membalikkan kunci dan nilai dalam tatasusunan, supaya nilai adalah kunci dan kunci adalah nilai. Jika terdapat nilai pendua dalam tatasusunan, hanya elemen terakhir akan dikekalkan. Sintaks asas adalah seperti berikut:

array array_flip (array $array)

Contohnya:

$arr = array('apple', 'banana', 'oren ', ' epal', 'oren');
$arr = array_flip($arr);
$arr = array_flip($arr);
print_r($arr);

Kod di atas akan Mengoutput keputusan berikut:

Array
(

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

)

Ia boleh dilihat bahawa dengan menggunakan fungsi array_flip(), anda juga boleh dengan mudah menyelak elemen dalam tatasusunan Elemen berulang dialih keluar.

3. Gunakan gelung foreach

Selain menggunakan fungsi terbina dalam PHP, anda juga boleh menggunakan gelung foreach untuk mencapai deduplikasi tatasusunan. Gelung melalui tatasusunan, bandingkan setiap elemen secara bergilir-gilir dengan elemen berikut, dan jika unsur pendua ditemui, alih keluarnya daripada tatasusunan. Sintaks asas adalah seperti berikut:

foreach($array as $k=>$v){

foreach($array as $key=>$val){
    if($k<$key && $v==$val){
        unset($array[$key]);
    }
}
Salin selepas log masuk

}

Contohnya:

$ arr = array('epal', 'pisang', 'oren', 'epal', 'oren');
foreach($arr sebagai $k=>$v){

foreach($arr as $key=>$val){
    if($k<$key && $v==$val){
        unset($arr[$key]);
    }
}
Salin selepas log masuk

}
print_r($arr);

Kod di atas juga boleh mengalih keluar elemen pendua dalam tatasusunan.

4. Gunakan fungsi array_diff()

Kaedah lain ialah menggunakan fungsi array_diff(). Fungsi ini boleh mengira perbezaan berbilang tatasusunan, hanya mengembalikan elemen yang terkandung dalam tatasusunan pertama dan bukan dalam semua tatasusunan lain. Jika terdapat unsur pendua dalam tatasusunan, hanya kejadian pertama akan dikekalkan. Sintaks asas adalah seperti berikut:

array array_diff ( array $array1 , array $array2 [, array $... ] )

Contohnya:

$arr1 = array(' epal', 'pisang', 'oren', 'epal', 'oren');
$arr2 = array('pisang', 'pir');
$arr = array_diff($arr1 , $arr2 );
print_r($arr);

Kod di atas akan mengeluarkan keputusan berikut:

Array
(

[0] => apple
[2] => orange
Salin selepas log masuk

)

Dengan menggunakan fungsi array_diff(), fungsi penyahduplikasi tatasusunan juga boleh dicapai. Walau bagaimanapun, perlu diingatkan bahawa fungsi ini hanya boleh mengira perbezaan antara dua tatasusunan Jika anda perlu memproses berbilang tatasusunan, anda perlu memanggil fungsi ini dalam urutan.

Ringkasan

Setakat ini, kami telah memperkenalkan empat kaedah penyahduplikasi tatasusunan yang biasa digunakan dalam PHP, termasuk fungsi array_unique(), array_flip() fungsi, foreach loop dan array_diff() fungsi. Kaedah yang berbeza mempunyai senario, kelebihan dan kekurangan yang berbeza, dan pembangun harus memilih berdasarkan keperluan sebenar. Apabila melakukan operasi tatasusunan, anda juga perlu memberi perhatian kepada isu seperti jenis data dan kaedah pengisihan untuk mengelakkan ralat dan masalah yang tidak perlu. Saya percaya bahawa selepas menguasai kemahiran ini, pemprosesan dan penyahduplikasi tatasusunan akan menjadi lebih mudah dan lebih cekap untuk pembangun PHP.

Atas ialah kandungan terperinci Bagaimana untuk menyahduplikasi 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