$ array = array('hi','hello','bye');
如何检查数组中是否存在两个或更多值中的至少一个值?
,如:
如果(in_array( 'HI',$阵列)|| in_array( '你好',$阵列))...
但一张支票?可以做到吗?
$ array = array('hi','hello','bye');
如何检查数组中是否存在两个或更多值中的至少一个值?
,如:
如果(in_array( 'HI',$阵列)|| in_array( '你好',$阵列))...
但一张支票?可以做到吗?
if(count(array_intersect(array('hi','hello','bye'), $array))) {
...
}
function in_array2($ary1,$ary2){
return count(array_intersect($ary1,$ary2)) > 0;
}
简单,利用array_intersect。
看看preg_grep,它会返回一个数组中符合预定义模式的条目(例如在您的示例中为'/^(hi|hello)$/
)。
E.g.
if (count(preg_grep('^/(hi|hello)$/',$array)))
{
// your code
}
使用array_intersect()...即
$array = array('hi', 'hello', 'bye');
if(count(array_intersect($array, array('search', 'for', 'values')))>0) ....
grr ...太慢了 – 2012-04-23 23:15:39
或者说:'如果(计数(array_intersect(阵列( '喜', '你好', '再见'),$阵列)) > = 2)' – ghoti 2012-04-23 23:13:35
否。如果至少存在一个,他希望返回true,而不是至少存在两个。 – Interrobang 2012-04-23 23:18:19
+1这很好。但是,计数是不必要的。评估为布尔值的非空数组始终为真。 – goat 2012-04-23 23:22:00