Rumah > pembangunan bahagian belakang > masalah PHP > php alih keluar elemen pendua daripada tatasusunan

php alih keluar elemen pendua daripada tatasusunan

WBOY
Lepaskan: 2023-05-07 12:21:07
asal
767 orang telah melayarinya

Dalam PHP, tatasusunan ialah jenis data yang sangat biasa dan biasa digunakan. Apabila menggunakan tatasusunan, kita sering menghadapi elemen pendua dalam tatasusunan Pada masa ini, kita perlu mengalih keluar elemen pendua dalam tatasusunan. Artikel ini akan memperkenalkan beberapa kaedah untuk mengalih keluar elemen pendua daripada tatasusunan dalam PHP.

Kaedah 1: Gunakan fungsi array_unique()

Fungsi array_unique() ialah salah satu fungsi terbina dalam PHP dan boleh digunakan untuk mengalih keluar elemen pendua daripada tatasusunan. Fungsi ini boleh menerima tatasusunan sebagai parameter dan mengembalikan tatasusunan yang dinyahduplikasi. Berikut ialah kod sampel yang menggunakan fungsi array_unique() untuk mengalih keluar elemen pendua daripada tatasusunan:

<?php
$original_array = array("foo", "bar", "foo", "baz", "qux", "bar");
$unique_array = array_unique($original_array);
print_r($unique_array);
?>
Salin selepas log masuk

Keluaran kod di atas ialah:

Array
(
    [0] => foo
    [1] => bar
    [3] => baz
    [4] => qux
)
Salin selepas log masuk

Walaupun kaedah ini mudah, ia harus diperhatikan bahawa fungsi ini sahaja Ia akan mengalih keluar elemen yang sama dalam tatasusunan, dan ia tidak boleh melakukan apa-apa tentang elemen dengan nilai yang sama tetapi kunci yang berbeza.

Kaedah 2: Gunakan untuk fungsi gelung dan in_array()

Dalam PHP, menggunakan fungsi for loop dan in_array() juga boleh mengalih keluar elemen pendua dalam tatasusunan. Prinsip kaedah ini adalah untuk melelar melalui setiap elemen dalam tatasusunan dan menggunakan fungsi in_array() untuk menentukan sama ada elemen itu telah muncul dalam tatasusunan baharu. Jika ia tidak muncul sebelum ini, elemen itu ditambahkan pada tatasusunan baharu. Berikut ialah kod sampel yang menggunakan gelung for dan fungsi in_array() untuk mengalih keluar elemen pendua daripada tatasusunan:

<?php
$original_array = array("foo", "bar", "foo", "baz", "qux", "bar");
$new_array = array();
for ($i = 0; $i < count($original_array); $i++) {
    if (!in_array($original_array[$i], $new_array)) {
        $new_array[] = $original_array[$i];
    }
}
print_r($new_array);
?>
Salin selepas log masuk

Keluaran kod di atas adalah sama dengan kod sampel dalam kaedah satu.

Kelebihan kaedah ini ialah ia boleh mengalih keluar elemen jenis data yang berbeza seperti rentetan dan nombor dalam tatasusunan pada masa yang sama Namun, apabila terdapat banyak elemen tatasusunan, kecekapan akan menjadi lebih perlahan daripada fungsi array_unique().

Kaedah 3: Gunakan fungsi array_flip() dan array_keys()

Dalam PHP, menggunakan fungsi array_flip() dan array_keys() juga boleh mengalih keluar elemen pendua daripada tatasusunan dengan cepat. Fungsi array_flip() boleh menukar kedudukan kunci dan nilai dalam tatasusunan supaya nilai dalam tatasusunan asal menjadi kunci dalam tatasusunan baharu, manakala fungsi_kunci tatasusunan() boleh mendapatkan kunci dalam tatasusunan. Oleh itu, anda boleh menggunakan fungsi array_flip() untuk menukar nilai dalam tatasusunan asal menjadi kunci, dan kemudian gunakan fungsi array_keys() untuk mendapatkan kunci dalam tatasusunan baharu untuk mendapatkan hasil penduaan. Berikut ialah kod sampel yang menggunakan fungsi array_flip() dan array_keys() untuk mengalih keluar elemen pendua daripada tatasusunan:

<?php
$original_array = array("foo", "bar", "foo", "baz", "qux", "bar");
$new_array = array_keys(array_flip($original_array));
print_r($new_array);
?>
Salin selepas log masuk

Keluaran kod di atas adalah sama dengan kod sampel dalam kaedah satu.

Kelebihan kaedah ini ialah ia boleh mengalih keluar pendua dengan cepat apabila terdapat banyak elemen tatasusunan Walau bagaimanapun, penduaan kunci mungkin berlaku semasa proses mendapatkan nilai berdasarkan kekunci gunakan fungsi array_flip() untuk menukar kedudukan kunci dan nilai.

Apabila menggunakan kaedah ini untuk mengalih keluar elemen pendua daripada tatasusunan, anda perlu memberi perhatian kepada perkara berikut:

  1. Dalam kaedah di atas, susunan unsur dalam tatasusunan mungkin berubah, jadi dalam seterusnya Ia perlu dikendalikan mengikut situasi sebenar semasa penggunaan.
  2. Apabila nilai dalam tatasusunan adalah objek, jika nilai atribut dua objek berbeza adalah sama, ia akan tetap dianggap sebagai elemen yang sama untuk penyahduplikasian Dalam kes ini, peraturan penghakiman perlu ditakrifkan semula.
  3. Jika tatasusunan mengandungi jenis seperti NULL atau FALSE, duplikasi mungkin tidak dialih keluar dan perlu diproses mengikut situasi sebenar.

Ringkasnya, terdapat banyak cara untuk mengalih keluar elemen pendua daripada tatasusunan dalam PHP Anda boleh memilih kaedah yang sesuai mengikut situasi sebenar.

Atas ialah kandungan terperinci php alih keluar elemen pendua daripada tatasusunan. 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