Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mengalih keluar nilai pendua daripada tatasusunan menggunakan PHP

Bagaimana untuk mengalih keluar nilai pendua daripada tatasusunan menggunakan PHP

PHPz
PHPzasal
2023-04-23 10:21:36527semak imbas

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!

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