Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengalih keluar elemen yang sama dari tatasusunan dalam php

Bagaimana untuk mengalih keluar elemen yang sama dari tatasusunan dalam php

PHPz
PHPzasal
2023-04-27 16:24:20504semak imbas

PHP ialah bahasa skrip yang digunakan secara meluas yang biasa digunakan untuk membina tapak web dinamik dan aplikasi web. Dalam proses pembangunan PHP, adalah sangat penting untuk memproses dan mengendalikan tatasusunan, kerana tatasusunan dalam PHP ialah struktur data yang fleksibel dan mudah digunakan yang boleh menyimpan pelbagai jenis data, seperti nombor, rentetan, objek, dll. Walau bagaimanapun, apabila unsur yang sama wujud dalam tatasusunan, kita perlu mengalih keluar data pendua ini untuk memproses dan menganalisis data dengan lebih baik. Artikel ini akan memperkenalkan beberapa kaedah untuk mengalih keluar elemen pendua daripada tatasusunan PHP.

Kaedah 1: fungsi array_unique()

Fungsi array_unique() ialah fungsi yang disediakan oleh PHP untuk mengalih keluar elemen pendua daripada tatasusunan. Ia memerlukan tatasusunan sebagai hujah dan mengembalikan tatasusunan baharu yang mengandungi hanya elemen unik daripada tatasusunan asal.

Berikut ialah contoh kod:

$arr = array(1, 2, 3, 3, 4, 4, 5);
$new_arr = array_unique($arr);
print_r($new_arr);

Jalankan kod di atas, output adalah seperti berikut:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [4] => 4
    [6] => 5
)

Seperti yang anda lihat, elemen berulang 3 dan 4 dalam tatasusunan asal $arr berjaya Dibuang. Kaedah ini sangat mudah dan mudah digunakan serta sesuai untuk operasi penyahduaan am.

Kaedah 2: Gunakan fungsi terbina dalam PHP array_flip() dan array_keys()

Fungsi array_flip() boleh menukar kunci dan nilai dalam tatasusunan dan mengembalikan tatasusunan baharu dengan kunci lama menjadi nilai, dan nilai lama menjadi kunci. Fungsi array_keys() boleh mengembalikan semua nama kunci dalam tatasusunan.

Kita boleh menggunakan fungsi array_flip() untuk menukar kunci dan nilai tatasusunan dan mendapatkan tatasusunan baharu. Kemudian gunakan fungsi array_keys() untuk mendapatkan semua nama kunci dalam tatasusunan baharu ini, dan akhirnya mengembalikan tatasusunan nama kunci selepas mengalih keluar elemen pendua.

Kod sampel adalah seperti berikut:

$arr = array(1, 2, 3, 3, 4, 4, 5);
$new_arr = array_flip($arr);

//获取新数组中的所有键名
$new_arr = array_keys($new_arr);

print_r($new_arr);

Jalankan kod di atas, hasil output adalah seperti berikut:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Kaedah ini lebih menyusahkan sedikit daripada array_unique() berfungsi, tetapi kelajuan akan menjadi Lebih Pantas dan sesuai untuk memproses tatasusunan yang besar.

Kaedah 3: Gunakan gelung untuk melintasi dan membandingkan

Selain daripada dua kaedah di atas, kita juga boleh menggunakan gelung untuk melintasi tatasusunan dan membandingkan nilai unsur satu oleh satu untuk membuang unsur pendua. Proses pelaksanaan kaedah ini agak kompleks, tetapi ia juga sangat fleksibel.

Kod sampel adalah seperti berikut:

$arr = array(1, 2, 3, 3, 4, 4, 5);
$new_arr = array();

foreach ($arr as $value) {
    if (!in_array($value, $new_arr)) {
        $new_arr[] = $value;
    }
}

print_r($new_arr);

Dalam kod di atas, kami mula-mula mencipta tatasusunan kosong baharu $new_arr. Kemudian gunakan gelung foreach untuk merentasi setiap elemen dalam tatasusunan asal $arr, dan gunakan fungsi in_array() untuk menentukan sama ada elemen itu muncul dalam tatasusunan baharu. Jika ia tidak muncul sebelum ini, elemen itu ditambahkan pada tatasusunan baharu. Jika ia telah muncul, langkau unsur tersebut secara langsung.

Jalankan kod di atas, hasil output adalah seperti berikut:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Kaedah ini lebih fleksibel dan boleh diubah suai mengikut keperluan sebenar. Selain itu, ia mungkin lebih perlahan apabila bekerja dengan tatasusunan besar kerana keperluan untuk menggelung seluruh tatasusunan.

Ringkasnya, terdapat banyak kaedah untuk dipilih dalam PHP untuk mengalih keluar elemen pendua daripada tatasusunan. Kita boleh memilih kaedah yang berbeza mengikut keperluan sebenar untuk mencapai hasil yang terbaik. Dalam pembangunan sebenar, kaedah yang paling sesuai boleh dipilih mengikut jumlah data dan keperluan untuk deduplikasi.

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar elemen yang sama dari tatasusunan 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