Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Gunakan fungsi PHP array_unique() untuk mengalih keluar tatasusunan pendua

Gunakan fungsi PHP array_unique() untuk mengalih keluar tatasusunan pendua

WBOY
WBOYasal
2023-06-27 10:40:391362semak imbas

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

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);
?>

Kod di atas akan mengeluarkan keputusan berikut:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [4] => pear
)

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); //输出去重后的数组
?>

Kod di atas akan mengeluarkan dua baris berikut:

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

Array
(
    [0] => Tom
    [1] => Jack
    [2] => Mary
    [4] => John
)

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!

Kenyataan:
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