Gunakan fungsi PHP array_unique() untuk mengalih keluar tatasusunan pendua

WBOY
Lepaskan: 2023-06-27 12:40:02
asal
1368 orang telah melayarinya

Apabila membangunkan aplikasi web, selalunya perlu menyahduplikasi tatasusunan. PHP menyediakan fungsi array_unique() yang sangat mudah untuk mengendalikan situasi ini. Fungsi array_unique() boleh mengalih keluar elemen pendua daripada tatasusunan dan mengembalikan tatasusunan baharu. Sintaks asas fungsi

array_unique() adalah seperti berikut:

array_unique(array $array, int $sort_flags = SORT_STRING): array
Salin selepas log masuk

Antaranya, parameter $array menentukan tatasusunan untuk mengalih keluar elemen pendua ialah parameter pilihan, menentukan peraturan pengisihan, anda boleh menggunakan SORT_NUMERIC. SORT_STRING atau SORT_LOCALE_STRING, yang masing-masing bermaksud mengikut nilai , mengisih mengikut rentetan dan mengikut rentetan setempat. Jika $sort_flags tidak dinyatakan, fungsi lalai kepada peraturan SORT_STRING.

Sekarang, mari kita lihat contoh yang menunjukkan cara menggunakan fungsi array_unique() untuk penyahduaan tatasusunan:

<?php
//定义一个包含重复元素的数组
$fruits = array("apple", "banana", "orange", "apple", "pear", "banana");

//使用array_unique()函数去重
$unique_fruits = array_unique($fruits);

//打印去重后的数组
print_r($unique_fruits);
?>
Salin selepas log masuk

Kod di atas akan mengeluarkan keputusan berikut:

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

Seperti yang anda lihat, terdapat hanya empat elemen yang tinggal dalam tatasusunan $unique_fruits , pendua "epal" dan "pisang" telah dialih keluar.

Perlu diambil perhatian bahawa fungsi array_unique() akan mengindeks semula nilai kunci tatasusunan. Ini bermakna selepas mengalih keluar elemen pendua, kunci dalam tatasusunan $unique_fruits akan dinomborkan semula bermula dari 0.

Jika anda ingin menyimpan salinan terakhir elemen pendua dalam tatasusunan asal, anda boleh melintasi tatasusunan dalam susunan terbalik, dan kemudian gunakan fungsi unset() untuk memadamkan salinan elemen pendua sebelumnya. Kod khusus adalah seperti berikut:

<?php
$names = array("Tom", "Jack", "Mary", "Tom", "John", "Mary");
$unique_names = array();
for($i = count($names) - 1; $i >= 0; $i--){
   if(!in_array($names[$i], $unique_names)){
      array_unshift($unique_names, $names[$i]);
   }
   else{
      unset($names[$i]);
   }
}
print_r($names); //输出数组中仅包含重复元素的最后一个副本
print_r($unique_names); //输出去重后的数组
?>
Salin selepas log masuk

Kod di atas akan mengeluarkan dua baris berikut:

Array
(
    [2] => Mary
    [4] => John
)

Array
(
    [0] => Tom
    [1] => Jack
    [2] => Mary
    [4] => John
)
Salin selepas log masuk

Dengan cara ini, tatasusunan $unique_names menyimpan tatasusunan nyahduplikasi, dan tatasusunan $names hanya mengekalkan salinan terakhir elemen pendua . Fungsi

array_unique() ialah salah satu fungsi yang sangat praktikal dalam PHP Ia boleh mengalih keluar elemen pendua daripada tatasusunan, menjadikan tugas memproses tatasusunan lebih mudah.

Atas ialah kandungan terperinci Gunakan fungsi PHP array_unique() untuk mengalih keluar tatasusunan pendua. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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