Menentukan Berbilang Nilai dalam Array: Beyond in_array()
Fungsi in_array() dalam PHP adalah terhad untuk menyemak kewujudan nilai tunggal dalam tatasusunan. Walau bagaimanapun, mungkin terdapat senario di mana anda perlu menentukan kehadiran berbilang nilai secara serentak. Artikel ini meneroka kaedah yang cekap untuk menyelesaikan masalah ini, meliputi kedua-dua kes mengenal pasti sama ada semua atau mana-mana nilai yang dinyatakan terdapat dalam tatasusunan.
Kes 1: Menyemak sama ada Semua Nilai Hadir dalam Tatasusunan
Untuk menentukan sama ada semua nilai sasaran wujud dalam tatasusunan jerami, manfaatkan fungsi array_intersect(). Ia mengira persilangan antara dua tatasusunan, menghasilkan tatasusunan baharu yang mengandungi hanya unsur-unsur yang terdapat dalam kedua-dua tatasusunan. Dengan membandingkan kiraan tatasusunan persilangan dengan kiraan tatasusunan sasaran, anda boleh memastikan sama ada semua nilai sasaran terdapat dalam tatasusunan jerami:
<code class="php">$haystack = array(...); $target = array('foo', 'bar'); if (count(array_intersect($haystack, $target)) == count($target)) { // all of $target is in $haystack }</code>
Kes 2: Menyemak jika sekurang-kurangnya Satu Nilai Hadir dalam Tatasusunan
Untuk menentukan sama ada mana-mana nilai sasaran terdapat dalam tatasusunan jerami, gunakan fungsi array_intersect() yang sama. Walau bagaimanapun, kali ini, anda hanya perlu mengesahkan sama ada tatasusunan persilangan yang terhasil mempunyai kiraan yang lebih besar daripada sifar:
<code class="php">if (count(array_intersect($haystack, $target)) > 0) { // at least one of $target is in $haystack }</code>
Dengan menggunakan strategi ini, anda boleh menyemak dengan berkesan kehadiran berbilang nilai dalam tatasusunan, mengembangkan keupayaan in_array() untuk menangani senario yang lebih kompleks.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Sama ada Berbilang Nilai Wujud dalam Tatasusunan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!