Fungsi in_array() PHP, direka untuk semakan kewujudan nilai, mempunyai had dalam hal mengesahkan berbilang nilai secara serentak. Artikel ini bertujuan untuk menangani cabaran ini, mengemukakan penyelesaian untuk kedua-dua senario:
Menyemak Kehadiran Semua Nilai
Untuk menentukan sama ada tatasusunan mengandungi semua elemen daripada tatasusunan lain, gunakan pendekatan berikut:
<code class="php">$haystack = array(...); $target = array('foo', 'bar'); if (count(array_intersect($haystack, $target)) == count($target)) { // all of $target is in $haystack }</code>
Fungsi bersilang mencari elemen sepunya antara dua tatasusunan dan membandingkan kiraannya dengan saiz tatasusunan sasaran memastikan semua nilai sasaran hadir dalam timbunan jerami.
Menyemak Kehadiran Sebarang Nilai
Sebaliknya, untuk mengesahkan sama ada tatasusunan jerami mengandungi sekurang-kurangnya satu nilai daripada tatasusunan sasaran, gunakan sintaks berikut:
<code class="php">if (count(array_intersect($haystack, $target)) > 0) { // at least one of $target is in $haystack }</code>
Di sini, kami menyemak sama ada kiraan persimpangan lebih besar daripada sifar, menunjukkan bahawa sekurang-kurangnya satu nilai daripada tatasusunan sasaran terdapat dalam timbunan jerami.
Atas ialah kandungan terperinci Bagaimana untuk Menyemak Berbilang Nilai dalam Tatasusunan PHP Menggunakan `in_array()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!