Bagaimana untuk mengalih keluar nilai pendua daripada tatasusunan dalam php

PHPz
Lepaskan: 2023-04-27 10:12:27
asal
882 orang telah melayarinya

Dalam PHP, kadangkala kita perlu mengalih keluar elemen pendua dalam tatasusunan untuk memastikan setiap elemen dalam tatasusunan adalah unik. Ini sangat berguna apabila bekerja dengan data, terutamanya apabila kita perlu mendapatkan nilai unik daripada sejumlah besar data. Artikel ini akan menerangkan cara mengalih keluar nilai pendua daripada tatasusunan menggunakan fungsi dan teknik PHP yang berbeza.

Gunakan fungsi array_unique untuk mengalih keluar pendua

PHP menyediakan fungsi yang sangat mudah untuk mengalih keluar nilai pendua dari tatasusunan: array_unique. Fungsi ini akan mengalih keluar semua elemen pendua daripada tatasusunan dan mengembalikan tatasusunan baharu. Berikut ialah contoh kod untuk menggunakan fungsi array_unique untuk mengalih keluar pendua:

$original_array = array('apple', 'banana', 'orange', 'apple', 'kiwi');
$unique_array = array_unique($original_array);
print_r($unique_array);
Salin selepas log masuk

Hasil output ialah:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [4] => kiwi
)
Salin selepas log masuk

Seperti yang ditunjukkan di atas, fungsi ini akan mengembalikan tatasusunan baharu yang mengandungi semua item unik dalam tatasusunan asal. Ambil perhatian bahawa tatasusunan asal dalam contoh ini mengandungi dua unsur "epal" pendua, tetapi hanya satu yang dikekalkan.

Indeks semula menggunakan fungsi array_values ​​

Seperti yang anda lihat daripada contoh di atas, anda boleh dengan mudah mengalih keluar elemen pendua daripada tatasusunan menggunakan fungsi array_unique, tetapi ia tidak menetapkan semula kekunci tatasusunan. Ini bermakna jika anda ingin menggunakan tatasusunan baharu, anda akan mendapat indeks yang berbeza daripada tatasusunan asal. Jika anda memerlukan indeks yang meningkat daripada 0, anda boleh menggunakan fungsi array_values ​​untuk mengindeks semula. Berikut ialah kod sampel yang menggunakan fungsi array_values ​​​​untuk mengindeks semula tatasusunan:

$original_array = array('apple', 'banana', 'orange', 'apple', 'kiwi');
$unique_array = array_values(array_unique($original_array));
print_r($unique_array);
Salin selepas log masuk

Outputnya ialah:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => kiwi
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Seperti yang ditunjukkan di atas, contoh pertama menggunakan fungsi array_unique untuk mengalih keluar pendua elemen dalam tatasusunan, dan kemudian menggunakan array_values ​​Fungsi ini mengindeks semula tatasusunan baharu. Akhir sekali, anda mendapat tatasusunan baharu yang mengandungi semua elemen unik dalam tatasusunan asal, menggunakan indeks yang meningkat daripada 0.

Gunakan fungsi gelung foreach dan in_array untuk mengalih keluar pendua

Selain fungsi array_unique dan fungsi array_values ​​​​, kita juga boleh menggunakan fungsi gelung dan in_array untuk mengalih keluar elemen pendua dalam tatasusunan. Berikut ialah contoh kod untuk penyahduplikasian menggunakan gelung foreach dan fungsi in_array:

$original_array = array('apple', 'banana', 'orange', 'apple', 'kiwi');
$unique_array = array();
foreach ($original_array as $value) {
    if (!in_array($value, $unique_array)) {
        $unique_array[] = $value;
    }
}
print_r($unique_array);
Salin selepas log masuk

Hasil keluaran ialah:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => kiwi
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Seperti yang ditunjukkan di atas, contoh ini menggunakan gelung foreach untuk lelaran melalui setiap elemen dalam tatasusunan asal, Dan gunakan fungsi in_array untuk menyemak sama ada elemen semasa sudah wujud dalam tatasusunan baharu. Jika elemen semasa tidak wujud dalam tatasusunan baharu, elemen itu akan ditambahkan pada tatasusunan baharu. Akhirnya, tatasusunan baharu diperoleh yang mengandungi semua elemen unik dalam tatasusunan asal.

Gunakan gelung foreach dan fungsi array_search untuk mengalih keluar pendua

Selain fungsi in_array, kita juga boleh menggunakan fungsi array_search untuk menyemak sama ada unsur wujud dalam tatasusunan. Apabila anda perlu mendapatkan nilai indeks elemen, fungsi array_search akan mengembalikan kunci elemen dalam tatasusunan. Berikut ialah contoh kod untuk penyahduplikasian menggunakan gelung foreach dan fungsi array_search:

$original_array = array('apple', 'banana', 'orange', 'apple', 'kiwi');
$unique_array = array();
foreach ($original_array as $value) {
    if (array_search($value, $unique_array) === false) {
        $unique_array[] = $value;
    }
}
print_r($unique_array);
Salin selepas log masuk

Hasil output ialah:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => kiwi
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Seperti yang ditunjukkan di atas, contoh ini menggunakan gelung foreach untuk lelaran melalui setiap elemen dalam tatasusunan asal, Dan gunakan fungsi array_search untuk menyemak sama ada elemen semasa sudah wujud dalam tatasusunan baharu. Jika elemen semasa tidak wujud dalam tatasusunan baharu, elemen itu akan ditambahkan pada tatasusunan baharu. Akhirnya, tatasusunan baharu diperoleh yang mengandungi semua elemen unik dalam tatasusunan asal.

Kesimpulan

Sama ada anda menggunakan fungsi array_unique, fungsi array_values, foreach loop dan in_array function, atau foreach fungsi gelung dan array_search, anda boleh mengalih keluar elemen pendua daripada tatasusunan dalam PHP dengan mudah. Apabila menggunakan teknik ini, ingat nama pembolehubah dan struktur kod anda. Sebaik sahaja anda tahu cara mengalih keluar pendua daripada tatasusunan, anda akan dapat memproses dan memanipulasi data dengan lebih baik.

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar nilai 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