確定數組中的多個值:超越in_array()
PHP 中的in_array() 函數僅限於檢查數組中是否存在數組中的單一值。但是,在某些情況下,您可能需要同時確定多個值是否存在。本文探討了解決此問題的有效方法,涵蓋了識別數組中是否存在所有或任何指定值的兩種情況。
案例 1:檢查數組中是否存在所有值
要確定 haystack 數組中是否存在所有目標值,請利用 array_intersect() 函數。它計算兩個數組之間的交集,從而產生一個僅包含兩個數組中存在的元素的新數組。透過比較交集數組的計數與目標數組的計數,您可以確定所有目標值是否都存在於haystack 數組中:
<code class="php">$haystack = array(...); $target = array('foo', 'bar'); if (count(array_intersect($haystack, $target)) == count($target)) { // all of $target is in $haystack }</code>
情況2:檢查是否至少有一個數組中存在值
要確定haystack 陣列中是否存在任何目標值,請使用相同的array_intersect() 函數。不過,這次,您只需要驗證產生的交集數組的計數是否大於零:
<code class="php">if (count(array_intersect($haystack, $target)) > 0) { // at least one of $target is in $haystack }</code>
透過採用這些策略,您可以有效地檢查數組中是否存在多個值,擴展in_array()的功能來解決更複雜的場景。
以上是如何確定 PHP 數組中是否存在多個值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!