PHP 的 in_array() 函数专为检查值是否存在而设计,但在验证多个值时存在局限性同时值。本文旨在解决这一挑战,提出针对两种情况的解决方案:
检查所有值的存在
要确定一个数组是否包含另一个数组中的所有元素,使用以下方法:
$haystack = array(...);
$target = array('foo', 'bar');
if (count(array_intersect($haystack, $target)) == count($target)) {
// all of $target is in $haystack
}
intersect 函数查找两个数组之间的公共元素,并将其计数与目标数组的大小进行比较,确保所有目标值都存在于干草堆中。
检查对于任何值的存在
相反,要验证 haystack 数组是否至少包含目标数组中的一个值,请使用以下命令语法:
if (count(array_intersect($haystack, $target)) > 0) {
// at least one of $target is in $haystack
}
这里,我们检查交集的计数是否大于零,表明目标数组中至少有一个值存在于干草堆中。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3