Bagaimana untuk mengalih keluar nilai pendua dalam tatasusunan dalam php

PHPz
Lepaskan: 2023-04-18 14:36:42
asal
516 orang telah melayarinya

Dalam PHP, tatasusunan ialah jenis data yang sangat biasa digunakan. Kadangkala kita perlu memastikan bahawa setiap elemen dalam tatasusunan adalah unik, iaitu, tiada pendua. Artikel ini akan memperkenalkan cara mengosongkan nilai pendua dalam tatasusunan, yang boleh membantu anda mengendalikan tatasusunan dengan lebih baik.

Kaedah 1: Gunakan fungsi PHP terbina dalam array_unique()

Fungsi array_unique() yang disediakan oleh PHP boleh digunakan untuk mengalih keluar nilai pendua ​​​​dari tatasusunan dan mengembalikan baru yang tidak mengandungi nilai pendua.

Kod sampel adalah seperti berikut:

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

Laksanakan kod di atas dan anda akan mendapat keputusan berikut:

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

Kaedah 2: Gunakan gelung untuk traverse

dalam PHP, kita boleh menggunakan loop traversal untuk mencapai tujuan deduplikasi. Kaedah khusus adalah untuk melintasi tatasusunan, bandingkan setiap elemen dengan elemen lain dalam tatasusunan, dan jika pendua ditemui, padamkan elemen tersebut. Tatasusunan akhir yang diperolehi ialah tatasusunan selepas penyahduplikasian.

Kod sampel adalah seperti berikut:

$array = array("a", "b", "c", "b", "d", "a");
$newArray = array();
foreach($array as $value) {
    if (!in_array($value, $newArray)) {
        $newArray[] = $value;
    }
}
print_r($newArray);
Salin selepas log masuk

Laksanakan kod di atas dan anda akan mendapat keputusan berikut:

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

Kaedah 3: Gunakan array_flip( ) fungsi

array_flip() boleh menukar kunci dan nilai dalam tatasusunan Jika tatasusunan asal mempunyai nilai pendua, maka selepas pertukaran, hanya satu daripada nilai pendua ini akan kekal, dengan itu. mencapai tujuan mengalih keluar nilai pendua.

Kod sampel adalah seperti berikut:

$array = array("a", "b", "c", "b", "d", "a");
$newArray = array_flip($array);
$newArray = array_flip($newArray);
print_r($newArray);
Salin selepas log masuk
Laksanakan kod di atas, anda akan mendapat keputusan berikut:

Array
(
    [a] => 
    [b] => 
    [c] => 
    [d] => 
)
Salin selepas log masuk
Dalam kod di atas, gunakan dahulu fungsi array_flip() untuk membalik tatasusunan Kunci dan nilai dalam ditukar dan tatasusunan baru $newArray diperoleh, tetapi nilai tatasusunan baharu ini semuanya kosong. Kemudian gunakan fungsi array_flip() sekali lagi untuk menukar kunci dan nilai tatasusunan baharu, dan hasil akhir ialah tatasusunan yang dinyahduplikasi.

Ringkasan

Tiga kaedah di atas semuanya boleh mencapai tujuan mengosongkan nilai pendua ​​​​dalam tatasusunan, tetapi prinsip pelaksanaannya berbeza. Anda perlu memilih kaedah yang sesuai mengikut situasi sebenar anda. Di samping itu, jika anda perlu mengekalkan nilai pendua dan anda ingin mengira kejadian setiap nilai pendua, anda boleh menggunakan fungsi array_count_values() yang disediakan oleh PHP, yang boleh mengembalikan tatasusunan baharu yang mengandungi setiap elemen dalam tatasusunan asal Bilangan kejadian.

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar nilai pendua dalam 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!