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

Bagaimana untuk mengalih keluar elemen yang sama daripada dua tatasusunan menggunakan bahasa PHP

PHPz
Lepaskan: 2023-04-25 09:28:55
asal
512 orang telah melayarinya

Apabila menulis kod PHP, kita selalunya perlu berurusan dengan tatasusunan. Apabila nilai yang sama wujud dalam dua tatasusunan, kadangkala perlu untuk mengalih keluar elemen yang serupa ini untuk menjadikan tatasusunan lebih bersih dan jelas. Artikel ini akan memperkenalkan anda cara menggunakan bahasa PHP untuk mengalih keluar elemen yang sama daripada dua tatasusunan.

1. Gunakan fungsi array_intersect

Menggunakan fungsi array_intersect boleh melakukan operasi persilangan pada dua tatasusunan, iaitu, mendapatkan elemen yang sama dalam dua tatasusunan. Walau bagaimanapun, untuk mencapai fungsi mengalih keluar elemen yang sama, anda juga perlu menggunakan fungsi array_diff untuk mengecualikan elemen yang sama yang diperoleh daripada tatasusunan asal. Berikut ialah contoh kod:

$array1 = array(1, 2, 3, 4, 5);
$array2 = array(4, 5, 6, 7, 8);

//获取两个数组中相同的元素
$intersect = array_intersect($array1, $array2);

//从原数组中排除获取到的相同元素
$result = array_diff($array1, $intersect);

print_r($result); //输出结果为 Array ( [0] => 1 [1] => 2 [2] => 3 )
Salin selepas log masuk

2. Gunakan fungsi foreach

Selain menggunakan fungsi sistem untuk beroperasi, kita juga boleh menggunakan gelung foreach dan menggabungkannya dengan PHP terbina dalam fungsi array_search dan unset untuk melaksanakan langkah Operasi membahagikan elemen yang sama dalam dua tatasusunan. Kod sampel adalah seperti berikut:

$array1 = array(1, 2, 3, 4, 5);
$array2 = array(4, 5, 6, 7, 8);

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

print_r($array1); //输出结果为 Array ( [0] => 1 [1] => 2 [2] => 3 )
Salin selepas log masuk

Dalam kod sampel di atas, gelung foreach merentasi tatasusunan $array1, menggunakan fungsi array_search untuk mencari tatasusunan $array2 untuk melihat sama ada nilai itu wujud, dan jika ia wujud, menggunakan fungsi tidak ditetapkan untuk mengalih keluar elemen.

3. Gunakan fungsi array_filter

Gunakan fungsi array_filter untuk menapis elemen dalam tatasusunan dan tentukan sama ada elemen perlu dikekalkan berdasarkan fungsi tersuai. Oleh itu, kita boleh menggabungkan fungsi array_filter dan fungsi in_array untuk mengalih keluar elemen yang sama daripada dua tatasusunan Kod sampel adalah seperti berikut:

$array1 = array(1, 2, 3, 4, 5);
$array2 = array(4, 5, 6, 7, 8);

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

print_r($res); //输出结果为 Array ( [0] => 1 [1] => 2 [2] => 3 )
Salin selepas log masuk

Dalam kod sampel di atas, fungsi tersuai digunakan untuk. laksanakannya. Untuk operasi penapisan, gunakan pernyataan pulangan untuk mengembalikan elemen yang perlu dikekalkan.

Tiga kaedah di atas semuanya boleh mencapai operasi mengalih keluar elemen yang sama dalam dua tatasusunan Anda harus memilih kaedah yang berbeza mengikut situasi sebenar. Perlu diingatkan bahawa "elemen yang sama" di sini merujuk kepada mempunyai nilai yang sama, bukan sama ada ia sama melalui pertimbangan kongruen (===).

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