0

例:

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

2 つ以上の値の少なくとも 1 つが配列に存在するかどうかを確認するにはどうすればよいですか?

お気に入り:

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

しかし、単一のチェックで?それはできますか?

4

4 に答える 4

6
if(count(array_intersect(array('hi','hello','bye'), $array))) {
   ...
}
于 2012-04-23T23:11:00.200 に答える
1
function in_array2($ary1,$ary2){
  return count(array_intersect($ary1,$ary2)) > 0;
}

シンプルに、array_intersectを利用します。

于 2012-04-23T23:11:09.543 に答える
1

preg_grepを見てください。これは、事前定義されたパターンに一致する配列内のエントリを返します (例:'/^(hi|hello)$/あなたの例)。

例えば

if (count(preg_grep('^/(hi|hello)$/',$array)))
{
  // your code
}
于 2012-04-23T23:13:43.533 に答える
1

array_intersect() を使用します...つまり

$array = array('hi', 'hello', 'bye');
if(count(array_intersect($array, array('search', 'for', 'values')))>0) ....
于 2012-04-23T23:15:08.793 に答える