$ 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