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 )
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 )
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 )
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!