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); ?>
Keluaran kod di atas ialah:
Array ( [0] => foo [1] => bar [3] => baz [4] => qux )
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); ?>
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); ?>
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:
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!