Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk memadamkan elemen tatasusunan pendua dalam php
Dengan populariti Internet, PHP, sebagai bahasa pengaturcaraan yang digunakan secara meluas, secara beransur-ansur menjadi salah satu bahasa yang paling biasa digunakan oleh pengaturcara. Memandangkan jumlah data terus meningkat, kami perlu menyahduplikasi data untuk mengurangkan jumlah data dan meningkatkan kecekapan pemprosesan data. Bagaimana untuk mengalih keluar elemen tatasusunan pendua dalam php? Seterusnya mari kita ketahui lebih lanjut mengenainya.
Dalam PHP, beberapa alatan pengaturcaraan yang berkuasa disediakan yang boleh digunakan untuk memadamkan elemen pendua dalam tatasusunan. Sesetengah kaedah ini agak mudah, tetapi sesetengahnya memerlukan pengetahuan teknikal yang lebih maju. Di bawah ini kami akan memperkenalkan secara terperinci empat kaedah biasa untuk memadam elemen pendua dalam tatasusunan untuk rujukan dan pembelajaran anda.
Kaedah 1: Gunakan fungsi array_unique
Fungsi array_unique() ialah kaedah penyahduplikasian yang disertakan dengan PHP, yang boleh mengalih keluar elemen pendua daripada tatasusunan dan mengembalikan tatasusunan baharu.
Kod sampel:
$array = array(1, 2, 1, 3, 4, 3); $new_array = array_unique($array); print_r($new_array);
Hasil keluaran:
Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 )
Seperti yang anda lihat, dalam tatasusunan asal, 1 dan 3 telah dialih keluar, dan bakinya elemen Simpannya dalam tatasusunan baharu dalam susunan asal.
Kaedah 2: Gunakan gelung traversal
Dalam PHP, anda juga boleh menggunakan gelung gelung atau foreach untuk mengalih keluar elemen pendua dalam tatasusunan. Kaedah ini lebih fleksibel dan sesuai untuk mengendalikan beberapa situasi khas. Berikut ialah kod sampel berdasarkan gelung for:
$array = array(1, 2, 1, 3, 4, 3); $new_array = array(); for ($i = 0; $i < count($array); $i++) { if (!in_array($array[$i], $new_array)) { $new_array[] = $array[$i]; } } print_r($new_array);
Hasil keluaran:
Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 )
Seperti yang anda lihat, hasil selepas penyahduplikasian dengan kaedah ini adalah sama seperti menggunakan fungsi array_unique() untuk menyahduplikasi Hasilnya adalah konsisten.
Kaedah 3: Gunakan fungsi array_flip
Fungsi array_flip() ialah fungsi pertukaran nilai kunci dalam PHP, yang boleh dengan cepat menggunakan nilai berulang dalam tatasusunan asal sebagai kunci daripada tatasusunan baharu, dengan itu menghapuskan Heavy.
Kod sampel:
$array = array(1, 2, 1, 3, 4, 3); $new_array = array_flip($array); print_r(array_keys($new_array));
Hasil keluaran:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )
Seperti yang anda lihat, dalam tatasusunan baharu, semua nilai utama adalah unik, jadi tujuan penyingkiran berat badan tercapai. Walau bagaimanapun, kaedah ini hanya berfungsi apabila nilai atribut dalam tatasusunan adalah rentetan atau integer.
Kaedah 4: Gunakan fungsi array_reduce
Fungsi array_reduce() juga merupakan fungsi yang biasa digunakan dalam PHP Anda boleh melakukan satu siri pengiraan pada semua elemen dalam tatasusunan dengan menentukan adat fungsi.
Kod sampel:
$array = array(1, 2, 1, 3, 4, 3); $new_array = array_reduce($array, function($result, $value) { if (!in_array($value, $result)) { $result[] = $value; } return $result; }, array()); print_r($new_array);
Hasil output:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )
Seperti yang anda lihat, kaedah ini menggunakan fungsi tersuai array_reduce() untuk menukar elemen dalam tatasusunan asal Elemen pendua telah dialih keluar dan keputusan yang sama diperolehi seperti kaedah lain.
Ringkasnya, empat kaedah PHP yang diberikan di atas untuk memadamkan elemen tatasusunan pendua semuanya boleh dilaksanakan dan pembangun boleh memilih kaedah yang berkenaan mengikut keperluan sebenar. Pada masa yang sama, apabila melakukan operasi tatasusunan yang kompleks, anda juga mesti memberi perhatian kepada isu seperti jenis data dan panjang tatasusunan untuk mengelakkan situasi tidak normal yang lain.
Atas ialah kandungan terperinci Bagaimana untuk memadamkan elemen tatasusunan pendua dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!