Bagaimana untuk menyahduplikasi tatasusunan dalam php

PHPz
Lepaskan: 2023-04-23 09:33:55
asal
6330 orang telah melayarinya

Dalam PHP, tatasusunan ialah jenis data yang sangat penting, yang boleh digunakan untuk menyimpan dan memproses sejumlah besar data. Walau bagaimanapun, dalam proses menggunakan tatasusunan, kita mungkin menghadapi nilai pendua dalam tatasusunan Dalam kes ini, kita perlu menyahgandakan tatasusunan. Berikut akan memperkenalkan beberapa kaedah penyahduplikasi tatasusunan PHP biasa.

1. Gunakan fungsi array_unique() PHP

Fungsi array_unique() ialah fungsi penyahduplikasi PHP sendiri, yang boleh mengalih keluar nilai pendua daripada tatasusunan dengan mudah. Kaedah menggunakan fungsi ini adalah seperti berikut:

$array = array("a","b","c","d","a","b","e");
$new_array = array_unique($array);
print_r($new_array);
Salin selepas log masuk

Kod di atas akan mengeluarkan:

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

Seperti yang anda lihat, nilai pendua "a" dan "b " dalam tatasusunan asal telah Dialih keluar.

Perlu diambil perhatian bahawa apabila menggunakan fungsi array_unique() untuk mengalih keluar pendua, nama kunci dalam tatasusunan akan dikekalkan. Jika anda ingin mengindeks semula tatasusunan, anda boleh menggunakan fungsi array_values(), contohnya:

$array = array("a","b","c","d","a","b","e");
$new_array = array_values(array_unique($array));
print_r($new_array);
Salin selepas log masuk

Output:

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

Susun atur telah diindeks semula.

2. Gunakan gelung untuk mengalih keluar pendua

Dalam PHP, anda juga boleh menggelungkan tatasusunan untuk mengalih keluar nilai pendua. Kod kaedah ini adalah seperti berikut:

$array = array("a","b","c","d","a","b","e");
$new_array = array();
foreach($array as $key=>$value){
    if(!in_array($value,$new_array)){
        $new_array[] = $value;
    }
}
print_r($new_array);
Salin selepas log masuk

Dengan menentukan sama ada nilai tertentu wujud dalam tatasusunan, dan menambahkannya pada tatasusunan baharu jika ia tidak wujud, nilai pendua dalam tatasusunan boleh dikeluarkan. Hasil output ialah:

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

3. Gunakan fungsi array_reduce() PHP Fungsi

array_reduce() ialah fungsi pengurangan tatasusunan yang boleh mengurangkan elemen dalam tatasusunan. Anda boleh menggunakan fungsi array_reduce() untuk mengalih keluar nilai pendua. Kod tersebut adalah seperti berikut:

$array = array("a","b","c","d","a","b","e");
$new_array = array_reduce($array, function($carry, $item){
    if(!in_array($item, $carry)){
        $carry[] = $item;
    }
    return $carry;
}, array());
print_r($new_array);
Salin selepas log masuk

Kod di atas menggunakan ciri fungsi tanpa nama dalam PHP7 Dengan menilai sama ada nilai tertentu wujud dalam tatasusunan, dan menambahkannya pada tatasusunan baharu jika ia tidak wujud , nilai dalam tatasusunan boleh dialih keluar. Hasil output ialah:

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

4. Gunakan fungsi array_count_values() PHP

array_count_values() fungsi boleh mengembalikan bilangan kejadian setiap nilai dalam tatasusunan. Kodnya adalah seperti berikut:

$array = array("a","b","c","d","a","b","e");
$count_array = array_count_values($array);
$new_array = array_keys($count_array);
print_r($new_array);
Salin selepas log masuk

Kod di atas mengira bilangan kejadian setiap nilai dalam tatasusunan dan memperoleh tatasusunan baharu melalui fungsi array_keys(). Hasil keluaran ialah:

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

Tiada nilai pendua dalam tatasusunan baharu di sini.

Di atas ialah empat kaedah penyahduplikasi tatasusunan PHP biasa. Memilih kaedah yang paling sesuai untuk pemprosesan deduplikasi berdasarkan situasi sebenar boleh meningkatkan kecekapan pemprosesan tatasusunan dengan berkesan.

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