Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mengalih keluar nilai pendua daripada tatasusunan menggunakan PHP
Dalam PHP, tatasusunan ialah salah satu struktur data yang biasa digunakan Ia boleh menyimpan berbilang elemen, fleksibel dan mudah serta telah digunakan secara meluas dalam pembangunan. Walau bagaimanapun, dalam pembangunan sebenar, kita sering perlu melakukan beberapa operasi pada tatasusunan, seperti memadamkan nilai pendua. Artikel ini akan memperkenalkan cara menggunakan PHP untuk mengalih keluar nilai pendua daripada tatasusunan.
1. Prinsip
Kaedah 1: Gunakan fungsi array_unique
PHP menyediakan fungsi array_unique yang boleh mengalih keluar nilai pendua dari tatasusunan. Sintaksnya adalah seperti berikut:
array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )
Fungsi ini menerima tatasusunan sebagai parameter dan mengembalikan tatasusunan baharu dengan nilai dalam tatasusunan baharu Nilai pendua dalam tatasusunan asal dikecualikan. Parameter kedua $sort_flags digunakan untuk menentukan cara mengisih tatasusunan output. Secara lalai, tatasusunan output mengekalkan nama utama tatasusunan asal.
Kod contoh:
$arr = array(1,2,2,3,4,4,5); $new_arr = array_unique($arr); print_r($new_arr); // 输出:Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 )
Kaedah 2: Gunakan lintasan gelung
Lintas tatasusunan melalui gelung dan bandingkan setiap elemen dalam tatasusunan dengan elemen berikut, jika ada adalah sebarang nilai persamaan, padamkan elemen berikut untuk mencapai fungsi penduaduaan.
Kod contoh:
$arr = array(1,2,2,3,4,4,5); for($i=0;$i<count($arr);$i++){ for($j=$i+1;$j<count($arr);$j++){ if($arr[$i]==$arr[$j]){ array_splice($arr,$j,1); $j--; } } } print_r($arr); // 输出:Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 )
2 Gunakan kaedah 1 untuk memadamkan nilai pendua dalam tatasusunan
Kami menggunakan fungsi array_unique yang dinyatakan di atas untuk mencapai Fungsi deduplikasi. Kod sampel adalah seperti berikut:
$arr = array(1,2,2,3,4,4,5); $new_arr = array_unique($arr); print_r($new_arr); // 输出:Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 )
3 Gunakan kaedah 2 untuk memadam nilai pendua dalam tatasusunan
Kami menggunakan kaedah menggelung melalui tatasusunan untuk memadam. nilai pendua dalam tatasusunan. Kod sampel adalah seperti berikut:
$arr = array(1,2,2,3,4,4,5); for($i=0;$i<count($arr);$i++){ for($j=$i+1;$j<count($arr);$j++){ if($arr[$i]==$arr[$j]){ array_splice($arr,$j,1); $j--; } } } print_r($arr); // 输出:Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 )
4 Perbandingan prestasi
Kerumitan masa kedua-dua kaedah ialah O(n) dan O(n. ^2) masing-masing Kerumitan masa kaedah satu lebih rendah dan prestasinya lebih baik. Oleh itu, dalam pembangunan sebenar, kita harus cuba memilih kaedah satu untuk melaksanakan deduplikasi tatasusunan untuk meningkatkan prestasi program.
5. Ringkasan
Artikel ini memperkenalkan dua kaedah untuk memadamkan nilai pendua dalam tatasusunan dalam PHP, boleh didapati bahawa satu kaedah mempunyai kerumitan masa yang lebih rendah dan prestasi yang lebih baik . Walau bagaimanapun, dalam beberapa kes tertentu, kaedah 2 mungkin lebih sesuai. Dalam pembangunan sebenar, kita harus membuat pilihan berdasarkan keadaan sebenar untuk meningkatkan kecekapan program.
Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar nilai pendua daripada tatasusunan menggunakan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!