Rumah >pembangunan bahagian belakang >masalah PHP >php keluarkan data pendua daripada tatasusunan

php keluarkan data pendua daripada tatasusunan

WBOY
WBOYasal
2023-05-19 17:02:38460semak imbas

PHP ialah bahasa skrip sumber terbuka yang digunakan secara meluas dalam bidang pembangunan web Ia boleh mengendalikan pelbagai jenis data dan struktur data, seperti rentetan, tatasusunan, objek, dll. Dalam pembangunan web, kita selalunya perlu menyahgandakan data, yang boleh meningkatkan kecekapan pemprosesan data. Artikel ini akan memperkenalkan kaedah mengalih keluar data pendua dalam tatasusunan dalam PHP.

Kaedah 1: Gunakan fungsi array_unique()

Fungsi array_unique() dalam php boleh digunakan untuk mengalih keluar data pendua daripada tatasusunan. Fungsi ini menerima tatasusunan sebagai hujah dan mengembalikan tatasusunan baharu yang tidak mengandungi nilai pendua.

Kod sampel:

$arr = array(1, 2, 2, 3, 4, 4);
$arr_unique = array_unique($arr);
print_r($arr_unique);

Hasil keluaran:

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

Kaedah 2: Gunakan lintasan gelung

Selain menggunakan fungsi array_unique(), kita boleh juga lulus Deduplikasi dicapai melalui traversal gelung. Langkah-langkah khusus adalah seperti berikut:

  1. Tentukan tatasusunan baharu untuk menyimpan data unik.
  2. Lelaran melalui tatasusunan asal, bandingkan setiap elemen dengan setiap elemen dalam tatasusunan baharu satu demi satu, langkau jika ia diulang, tambahkan elemen pada tatasusunan baharu jika ia tidak diulang.

Kod sampel:

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

Hasil keluaran:

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

Kaedah 3: Gunakan fungsi array_flip() dan array_keys()

dalam php The Fungsi array_flip() boleh digunakan untuk menukar kunci dan nilai dalam tatasusunan. Dengan menukar nilai kunci tatasusunan asal dan kemudian menggunakan fungsi array_keys() untuk mendapatkan kunci, tatasusunan penyahduplikasi boleh diperolehi.

Kod sampel:

$arr = array(1, 2, 2, 3, 4, 4);
$new_arr = array_keys(array_flip($arr));
print_r($new_arr);

Hasil keluaran:

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

Kaedah 4: Gunakan fungsi array_filter()

Fungsi array_filter() dalam php boleh digunakan untuk menapis elemen dalam tatasusunan. Kita boleh menyahduplikasi tatasusunan asal dengan menggunakan fungsi ini digabungkan dengan fungsi tanpa nama.

Kod sampel:

$arr = array(1, 2, 2, 3, 4, 4);
$new_arr = array_filter($arr, function ($value) {
    static $data = [];
    if (in_array($value, $data)) {
        return false;
    } else {
        $data[] = $value;
        return true;
    }
});
print_r($new_arr);

Hasil output:

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

Ringkasan:

Terdapat banyak cara untuk mengalih keluar data pendua dalam tatasusunan dalam PHP, seperti yang diterangkan Kaedah di atas hanyalah sebahagian daripadanya. Kita boleh memilih kaedah penyahduplikasian yang sesuai berdasarkan keperluan dan struktur data yang berbeza untuk meningkatkan kecekapan dan kestabilan program.

Atas ialah kandungan terperinci php keluarkan data pendua daripada tatasusunan. 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