Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menapis tatasusunan pendua dalam php

Bagaimana untuk menapis tatasusunan pendua dalam php

PHPz
PHPzasal
2023-04-20 13:55:17899semak imbas

Dalam PHP, kita sering menghadapi situasi apabila berurusan dengan tatasusunan Salah satu masalah yang lebih biasa ialah cara menapis elemen pendua dalam tatasusunan. Artikel ini akan memperkenalkan secara terperinci cara menapis tatasusunan pendua dalam PHP.

1. Fungsi array_unique

Fungsi array_unique terbina dalam dalam PHP boleh menapis elemen pendua dalam tatasusunan. Ia akan mengekalkan kejadian pertama elemen dan mengalih keluar semua elemen pendua yang tinggal.

Sintaks fungsi ini adalah seperti berikut:

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

Di mana:

  • tatasusunan ialah tatasusunan yang perlu ditapis.
  • sort_flags ialah parameter pilihan yang digunakan untuk menentukan kaedah pengisihan. Secara lalai, elemen dibandingkan sebagai rentetan, anda boleh menentukan pengisihan berangka atau umum dengan menghantar SORT_NUMERIC atau SORT_REGULAR.

Berikut ialah contoh:

$old_arr = array('apple', 'banana', 'pear', 'banana', 'orange');

$new_arr = array_unique($old_arr);

print_r($new_arr); // 输出结果为 Array ( [0] => apple [1] => banana [2] => pear [4] => orange )

Memandangkan terdapat dua elemen 'pisang' dalam tatasusunan asal, hanya satu elemen 'pisang' dikekalkan selepas penapisan array_unik.

2. Penyahduplikasi manual

Selain fungsi array_unique, kita juga boleh menggunakan ciri PHP - nama kunci tidak boleh diulang untuk mencapai penyahduplikasi manual.

Kita boleh merentasi tatasusunan asal dan menyimpan elemen sebagai kunci dalam tatasusunan baharu, supaya kunci dalam tatasusunan baharu akan dinyahduplikasi secara automatik dan nilainya boleh ditetapkan seperti yang dikehendaki.

Berikut ialah kod sampel:

$old_arr = array('apple', 'banana', 'pear', 'banana', 'orange');

$new_arr = array();

foreach ($old_arr as $value) {
    $new_arr[$value] = 0;
}

print_r(array_keys($new_arr)); // 输出结果为 Array ( [0] => apple [1] => banana [2] => pear [3] => orange )

Walaupun kaedah ini lebih menyusahkan, ia dapat memastikan susunan input dan output adalah konsisten.

3. Fungsi array_flip

Fungsi array_flip terbina dalam PHP boleh menukar nama dan nilai utama tatasusunan. Memandangkan nama kunci tidak boleh diulang, pertindihan boleh dicapai dengan cepat menggunakan fungsi array_flip.

Berikut ialah kod sampel:

$old_arr = array('apple', 'banana', 'pear', 'banana', 'orange');

$new_arr = array_flip($old_arr);

print_r(array_keys($new_arr)); // 输出结果为 Array ( [0] => apple [1] => banana [2] => pear [3] => orange )

Memandangkan terdapat dua elemen 'pisang' dalam tatasusunan asal, hanya satu elemen 'pisang' dikekalkan selepas fungsi array_flip.

4. Ringkasan

Melalui penjelasan artikel ini, kami telah mempelajari cara mengalih keluar elemen pendua dengan cepat daripada tatasusunan dalam PHP.

Kita boleh menggunakan fungsi array_unique terbina dalam, menggunakan penyahduplikasi manual atau menggunakan fungsi array_flip untuk mencapai penyahduplikasian.

Bergantung pada senario dan keperluan tertentu, kita boleh memilih kaedah yang paling sesuai untuk kita untuk mengalih keluar elemen pendua dalam tatasusunan.

Atas ialah kandungan terperinci Bagaimana untuk menapis tatasusunan pendua dalam php. 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