Rumah >pembangunan bahagian belakang >masalah PHP >Alih keluar pendua daripada tatasusunan php

Alih keluar pendua daripada tatasusunan php

WBOY
WBOYasal
2023-05-05 21:42:09901semak imbas

Tatasusunan adalah bahagian penting dalam pembangunan web. Walau bagaimanapun, apabila memproses sejumlah besar data, tatasusunan mungkin mengandungi sejumlah besar pendua, yang boleh menjadikan pemprosesan data kompleks dan tidak cekap. Jadi, artikel ini akan menerangkan cara mengalih keluar pendua daripada tatasusunan dalam PHP.

Kaedah 1: Gunakan fungsi array_unique()

Fungsi array_unique() ialah fungsi terbina dalam yang disediakan oleh PHP untuk mengalih keluar pendua daripada tatasusunan. Ia mengembalikan tatasusunan baharu yang mengandungi hanya nilai unik daripada tatasusunan asal.

Menggunakan fungsi ini adalah sangat mudah Anda hanya perlu menghantar tatasusunan yang perlu dinyahduplikasi sebagai parameter:

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

Kod di atas akan mengeluarkan:

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

Kaedah. 2: Gunakan Gelung dan fungsi in_array()

Kaedah biasa lain ialah menggunakan gelung dan fungsi in_array() untuk mengalih keluar pendua. Kaedah ini berfungsi dengan pelbagai jenis tatasusunan, termasuk tatasusunan bersekutu dan tatasusunan berbilang dimensi.

Kod untuk melaksanakan kaedah ini adalah seperti berikut:

$array = array(1, 2, 2, 3, 4, 4, 5);
$new_array = array();
foreach($array as $value){
    if(!in_array($value, $new_array)){
        $new_array[] = $value;
    }
}
print_r($new_array);

Kod di atas akan mengeluarkan hasil yang sama seperti kaedah pertama:

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

Kaedah ketiga: gunakan array_flip() dan array_values( ) Fungsi

Jika nilai yang terkandung dalam tatasusunan adalah semua integer atau rentetan, anda juga boleh menggunakan fungsi array_flip() dan array_values() untuk mengalih keluar pendua.

Kaedah pelaksanaan khusus adalah seperti berikut:

$array = array(1, 2, 2, 3, 4, 4, 5);
$new_array = array_values(array_flip($array)); 
print_r($new_array);

Kod di atas akan mengeluarkan hasil yang sama seperti dua kaedah pertama:

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

Dalam kod di atas, array_flip( ) fungsi akan Nilai dalam digunakan sebagai kunci, dan dalam kes nama kunci yang sama, nilai berikutnya akan menimpa nilai sebelumnya. Memandangkan kita hanya perlu mengalih keluar pendua, hanya satu nama kunci dikekalkan dalam tatasusunan akhir, dan nilai lain yang sepadan dengan nama kunci yang sama dipadamkan.

Akhir sekali, fungsi array_values() akan membina semula indeks tatasusunan supaya dinomborkan berturut-turut bermula dari 0.

Ringkasan

Artikel ini memperkenalkan beberapa cara untuk mengalih keluar pendua daripada tatasusunan dalam PHP, termasuk menggunakan fungsi array_unique(), gelung dan in_array() fungsi, serta array_flip() dan array_values () fungsi. Kaedah ini sangat mudah dan mudah difahami, dan boleh menjadikan pemprosesan tatasusunan lebih cekap dan mudah.

Atas ialah kandungan terperinci Alih keluar pendua daripada tatasusunan 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