In_array但具有更多值

时间:2012-04-23 23:08:56

标签: php arrays

示例:

$ array = array('hi','hello','bye');

如何检查数组中是否存在两个或更多值中的至少一个?

像:

if(in_array('hi',$ array)|| in_array('hello',$ array))...

但只需一张支票?可以吗?

4 个答案:

答案 0 :(得分:6)

if(count(array_intersect(array('hi','hello','bye'), $array))) {
   ...
}

答案 1 :(得分:1)

function in_array2($ary1,$ary2){
  return count(array_intersect($ary1,$ary2)) > 0;
}

简单,使用array_intersect

答案 2 :(得分:1)

查看preg_grep,它将返回数组中与预定义模式匹配的条目(例如,示例中为'/^(hi|hello)$/)。

E.g。

if (count(preg_grep('^/(hi|hello)$/',$array)))
{
  // your code
}

答案 3 :(得分:1)

使用array_intersect()...即

$array = array('hi', 'hello', 'bye');
if(count(array_intersect($array, array('search', 'for', 'values')))>0) ....