Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk mengalih keluar elemen pendua daripada tatasusunan dalam php

Bagaimana untuk mengalih keluar elemen pendua daripada tatasusunan dalam php

PHPz
Lepaskan: 2023-04-27 10:00:28
asal
496 orang telah melayarinya

Dalam PHP, tatasusunan ialah struktur data yang kerap digunakan yang boleh digunakan untuk menyimpan berbilang nilai. Dalam pembangunan sebenar, kita selalunya perlu mengendalikan tatasusunan, seperti mengalih keluar elemen pendua daripada tatasusunan. Artikel ini akan memperkenalkan beberapa kaedah untuk mencapai fungsi ini.

  1. Gunakan fungsi array_unique

Fungsi array_unique dalam PHP boleh mengalih keluar elemen pendua daripada tatasusunan dan mengembalikan tatasusunan yang diproses. Berikut ialah contoh:

$array = array('a', 'b', 'c', 'a', 'd', 'b');
$new_array = array_unique($array);
print_r($new_array);
Salin selepas log masuk

Kod di atas akan mengeluarkan yang berikut:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [4] => d
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Nota: Menggunakan kaedah ini akan menyusun semula tatasusunan dan menghapuskan nilai kunci asal. Jika anda perlu mengekalkan indeks tatasusunan asal, anda boleh menggunakan kaedah berikut.

  1. Gunakan gelung foreach untuk melintasi

Gunakan gelung foreach untuk melintasi tatasusunan untuk menentukan sama ada elemen sudah wujud, dan jika ia tidak wujud, tambah tatasusunan baharu. Berikut ialah kod sampel:

$array = array('a', 'b', 'c', 'a', 'd', 'b');
$new_array = array();

foreach($array as $value) {
    if(!in_array($value, $new_array)) {
        $new_array[] = $value;
    }
}

print_r($new_array);
Salin selepas log masuk

Kod di atas akan mengeluarkan yang berikut:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [4] => d
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Kaedah ini tidak menyusun semula tatasusunan dan boleh mengekalkan indeks asal.

  1. Gunakan fungsi array_flip dan array_keys

Gunakan fungsi array_flip untuk menggunakan nilai array sebagai kunci dan kunci sebagai nilai, dan kemudian gunakan fungsi array_keys untuk dapatkan nilai kunci untuk mengalih keluar elemen pendua. Berikut ialah kod sampel:

$array = array('a', 'b', 'c', 'a', 'd', 'b');
$new_array = array_keys(array_flip($array));
print_r($new_array);
Salin selepas log masuk

Kod di atas akan mengeluarkan yang berikut:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)
Salin selepas log masuk

Kaedah ini juga tidak menyusun semula tatasusunan dan boleh mengekalkan indeks asal.

  1. Gunakan fungsi array_reduce

Gunakan fungsi array_reduce untuk mengurangkan tatasusunan kepada satu nilai dengan menghantar semua nilai dalam tatasusunan kepada fungsi panggil balik satu demi satu satu. Anda boleh menggunakan nilai pulangan fungsi panggil balik sebagai tatasusunan baharu dan alih keluar pendua. Berikut ialah kod sampel:

$array = array('a', 'b', 'c', 'a', 'd', 'b');
$new_array = array_reduce($array, function(&$result, $item) {
    if(!in_array($item, $result)) {
        $result[] = $item;
    }
    return $result;
}, array());

print_r($new_array);
Salin selepas log masuk

Kod di atas akan mengeluarkan yang berikut:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [4] => d
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Kaedah ini juga tidak menyusun semula tatasusunan dan boleh mengekalkan indeks asal.

Ringkasan

Di atas memperkenalkan empat kaedah untuk mengalih keluar elemen pendua dalam tatasusunan, iaitu menggunakan fungsi array_unique, menggunakan lintasan gelung foreach, menggunakan fungsi array_flip dan array_keys, dan menggunakan fungsi array_reduce . Kaedah khusus untuk dipilih boleh diputuskan mengikut senario aplikasi dan keperluan sebenar Kaedah yang berbeza mempunyai kelebihan dan kekurangan yang berbeza.

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar elemen pendua daripada tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan