Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk membuang tatasusunan yang sama dalam php

Bagaimana untuk membuang tatasusunan yang sama dalam php

PHPz
Lepaskan: 2023-04-19 10:49:05
asal
532 orang telah melayarinya

Dalam PHP, selalunya diperlukan untuk beroperasi pada tatasusunan, dan salah satu operasi biasa ialah mengalih keluar data yang sama. Keadaan ini sangat biasa semasa pemprosesan data, penapisan atau penyahduplikasian. Jadi, dalam operasi tertentu, bagaimana kita menggunakan PHP untuk mengalih keluar tatasusunan yang sama?

1. Gunakan fungsi array_unique() untuk mengalih keluar elemen yang sama

Fungsi terbina dalam PHP array_unique() boleh digunakan untuk mengalih keluar elemen pendua dalam tatasusunan. Fungsi ini mengembalikan tatasusunan baharu yang mengandungi hanya elemen berbeza yang muncul dalam tatasusunan asal. Di bawah, kami menunjukkan cara menggunakan fungsi ini:

<?php
$colors = array("red","green","blue","red","yellow","blue");
$unique_colors = array_unique($colors);
print_r($unique_colors);
?>
Salin selepas log masuk

Dalam kod ini, kami mentakrifkan tatasusunan $colors, beberapa elemen diulang. Melalui pemprosesan fungsi array_unique(), tatasusunan baru $unique_colors selepas mengalih keluar elemen pendua dikembalikan. Kita dapat melihat bahawa hasil keluaran adalah seperti berikut:

Array
(
[0] => red
[1] => green
[2] => blue
[4] => yellow
)
Salin selepas log masuk
Salin selepas log masuk

Seperti yang anda boleh lihat daripada output, elemen pendua dalam tatasusunan $colors telah dialih keluar daripada tatasusunan $unique_colors.

2. Gunakan fungsi tersuai untuk mengalih keluar elemen yang sama

Kadangkala, kita perlu menggunakan fungsi tersuai untuk mengalih keluar elemen pendua dalam tatasusunan. Kaedah ini lebih menyusahkan untuk dilaksanakan, dan anda perlu menulis kod anda sendiri untuk memproses tatasusunan.

<?php
function custom_unique($array){
    $result = array();
    foreach($array as $value){
        if(!in_array($value,$result)){
            $result[] = $value;
        }
    }
    return $result;
}
$colors = array("red","green","blue","red","yellow","blue");
$unique_colors = custom_unique($colors);
print_r($unique_colors);
?>
Salin selepas log masuk

Dalam kod ini, kami mentakrifkan fungsi tersuai custom_unique() untuk mengalih keluar elemen pendua dalam tatasusunan $colors. Proses pelaksanaan fungsi ini ialah: melintasi tatasusunan awal, gunakan fungsi in_array() untuk menentukan sama ada elemen telah muncul dalam tatasusunan baharu $unique_colors, jika tidak, tambahkannya pada tatasusunan baharu $unique_colors, dan akhirnya kembalikan yang diproses tatasusunan baharu. Menjalankan kod di atas akan mengeluarkan hasil yang serupa dengan kaedah pertama:

Array
(
[0] => red
[1] => green
[2] => blue
[4] => yellow
)
Salin selepas log masuk
Salin selepas log masuk

3 Gunakan fungsi array_diff() untuk mengalih keluar elemen yang sama

Fungsi array_diff() boleh digunakan untuk membandingkan. dua Tatasusunan, mengembalikan elemen yang berbeza di antara mereka. Jika matlamat kami adalah untuk mengalih keluar elemen yang sama daripada tatasusunan, kami juga boleh menggunakan ciri ini untuk mencapainya.

<?php
$colors = array("red","green","blue","red","yellow","blue");
$unique_colors = array_diff($colors,array_unique($colors));
print_r($unique_colors);
?>
Salin selepas log masuk

Dalam kod ini, kami menggunakan fungsi array_diff() dan fungsi array_unique() untuk mengalih keluar elemen yang sama. Mula-mula, kita menggunakan fungsi array_unique() untuk mendapatkan tatasusunan selepas mengalih keluar elemen pendua, dan kemudian gunakan fungsi array_diff() untuk membandingkan tatasusunan awal dan tatasusunan selepas penyahduplikasian, dan mengembalikan elemen yang berbeza antara dua tatasusunan, iaitu apa kita perlukan array.

Melalui tiga kaedah di atas, kita boleh mengalih keluar elemen yang sama dalam tatasusunan dengan lebih mudah. Kaedah mana yang hendak digunakan bergantung pada keperluan sebenar dan tabiat pengaturcaraan kita.

Atas ialah kandungan terperinci Bagaimana untuk membuang tatasusunan yang sama 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