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

Bagaimana untuk mengalih keluar elemen yang sama daripada dua tatasusunan dalam php

PHPz
Lepaskan: 2023-04-26 14:54:30
asal
1072 orang telah melayarinya

Mengalih keluar elemen yang sama daripada dua tatasusunan ialah tugas yang sangat biasa dalam PHP. Biasanya, kita boleh menggunakan fungsi terbina dalam PHP untuk menyelesaikan tugas ini. Dalam artikel ini, saya akan menunjukkan kepada anda cara mengalih keluar elemen yang sama daripada dua tatasusunan menggunakan kaedah yang berbeza.

Kaedah 1: fungsi array_diff()

Fungsi array_diff() terbina dalam PHP boleh mencari perbezaan antara dua tatasusunan dengan mudah. Kita boleh menggunakan fungsi ini untuk mencari elemen yang berbeza dalam dua tatasusunan.

Berikut ialah contoh:

$array1 = array("apple", "banana", "orange");
$array2 = array("apple", "pear");

$result = array_diff($array1, $array2);

print_r($result);
Salin selepas log masuk

Outputnya ialah:

Array
(
    [1] => banana
    [2] => orange
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Ini bermakna elemen "pisang" dan "oren" dalam $array1 bukan $array2.

Kaedah 2: Gunakan gelung

Penyelesaian lain ialah menggunakan gelung untuk melelaran melalui kedua-dua tatasusunan dan mengalih keluar elemen yang sama. Di sini kita boleh menggunakan pernyataan gelung foreach untuk melintasi tatasusunan dan menggunakan fungsi in_array() untuk menyemak sama ada unsur yang sama wujud dalam tatasusunan.

Berikut ialah contoh:

$array1 = array("apple", "banana", "orange");
$array2 = array("apple", "pear");

foreach ($array1 as $key => $value) {
    if (in_array($value, $array2)) {
        unset($array1[$key]);
    }
}

print_r($array1);
Salin selepas log masuk

Outputnya ialah:

Array
(
    [1] => banana
    [2] => orange
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Ini adalah hasil yang sama seperti menggunakan fungsi array_diff(). Dalam contoh ini, kami menggunakan penyataan gelung foreach untuk melelaran melalui tatasusunan pertama dan menggunakan fungsi in_array() untuk menyemak sama ada elemen yang sama wujud dalam tatasusunan kedua. Jika unsur yang sama wujud, kita boleh menggunakan fungsi unset() untuk mengalih keluar elemen daripada tatasusunan pertama.

Kaedah 3: Gunakan fungsi array_filter()

Kita boleh menggunakan fungsi array_filter() terbina dalam PHP untuk mendapatkan elemen tatasusunan yang memenuhi syarat yang ditetapkan. Kita boleh menggunakan fungsi ini untuk mendapatkan elemen yang berbeza antara dua tatasusunan.

Berikut ialah contoh:

$array1 = array("apple", "banana", "orange");
$array2 = array("apple", "pear");

$result = array_filter($array1, function ($value) use ($array2) {
    return !in_array($value, $array2);
});

print_r($result);
Salin selepas log masuk

Outputnya ialah:

Array
(
    [1] => banana
    [2] => orange
)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Ini adalah hasil yang sama seperti menggunakan fungsi array_diff(). Dalam contoh ini, kami menggunakan fungsi array_filter() untuk mendapatkan elemen dalam tatasusunan pertama yang tidak sama seperti dalam tatasusunan kedua. Kami mencipta fungsi tanpa nama yang menggunakan fungsi in_array() untuk menyemak sama ada nilai berada dalam tatasusunan kedua. Jika tidak, kami mengembalikan benar, iaitu syarat yang ditentukan dipenuhi dan nilai akan dikekalkan dalam tatasusunan hasil.

Kesimpulan

Di atas ialah tiga kaedah biasa, menggunakan fungsi PHP terbina dalam atau gelung untuk mengalih keluar elemen yang sama daripada dua tatasusunan. Anda boleh memilih kaedah yang sesuai mengikut keperluan sebenar anda. Tidak kira kaedah yang anda pilih, tugas ini boleh dicapai dengan mudah dan saya harap artikel ini akan membantu anda.

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar elemen yang sama daripada dua 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