确定数组中的多个值:超越 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中文网其他相关文章!