Dalam PHP, kadangkala kita perlu mengalih keluar tatasusunan daripada tatasusunan lain, yang melibatkan operasi tatasusunan. Dalam artikel ini, kami akan memperkenalkan beberapa kaedah untuk mengalih keluar tatasusunan daripada tatasusunan.
1. Gunakan gelung foreach
Pertama, kita boleh menggunakan gelung foreach untuk melintasi tatasusunan, dan kemudian menggunakan fungsi in_array untuk menentukan sama ada elemen tatasusunan muncul dalam tatasusunan sasaran ia tidak, gunakan unset Fungsi mengeluarkannya daripada tatasusunan sasaran.
Kod contoh:
$arr1 = array('a', 'b', 'c', 'd'); $arr2 = array('a', 'e', 'f'); foreach ($arr2 as $value) { if (in_array($value, $arr1)) { unset($arr1[array_search($value, $arr1)]); } } print_r($arr1);
Kod di atas akan mengeluarkan ['b', 'c', 'd'], iaitu $arr1 telah mengalih keluar elemen yang terdapat dalam $arr2 .
2. Gunakan fungsi array_diff
Kaedah lain yang boleh digunakan ialah melalui fungsi array_diff, yang boleh mengembalikan tatasusunan baharu yang terdiri daripada nilai berbeza dalam dua tatasusunan. Oleh itu, kita boleh menghantar tatasusunan sasaran dan tatasusunan yang akan dialih keluar sebagai dua parameter kepada fungsi, dan kita boleh mendapatkan tatasusunan baharu selepas dialih keluar.
Kod sampel:
$arr1 = array('a', 'b', 'c', 'd'); $arr2 = array('a', 'e', 'f'); $arr3 = array_diff($arr1, $arr2); print_r($arr3);
Kod di atas juga akan mengeluarkan ['b', 'c', 'd'], iaitu $arr1 telah mengalih keluar kandungan dalam $arr2 unsur.
3. Gunakan fungsi array_filter
Kaedah terakhir ialah menggunakan fungsi array_filter, yang boleh menggunakan fungsi panggil balik untuk menapis elemen tatasusunan. Kita boleh menggunakan fungsi panggil balik untuk menapis elemen dalam tatasusunan sasaran yang sama dengan elemen tatasusunan yang akan dialih keluar, dan akhirnya mendapatkan tatasusunan baharu selepas dialih keluar.
Kod sampel:
$arr1 = array('a', 'b', 'c', 'd'); $arr2 = array('a', 'e', 'f'); $arr3 = array_filter($arr1, function($item) use($arr2) { return !in_array($item, $arr2); }); print_r($arr3);
Kod di atas juga akan mengeluarkan ['b', 'c', 'd'], iaitu $arr1 telah mengalih keluar kandungan dalam $arr2 unsur.
Ringkasan
Artikel ini memperkenalkan tiga kaedah untuk mengalih keluar tatasusunan daripada tatasusunan, menggunakan gelung foreach, fungsi array_diff dan fungsi penapis_tatasusunan. Dalam perkembangan sebenar, kita boleh memilih kaedah yang sesuai mengikut situasi tertentu.
Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar subarray daripada tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!