$ array = array( 'hi'、 'hello'、 'bye');
2つ以上の値の少なくとも1つがアレイに存在するかどうかを確認するにはどうすればよいですか?以下のような
:
場合(in_array( 'こんにちは'、$配列)|| in_array( 'こんにちは'、$配列))...
が、単一のチェックと
?それはできますか?$ array = array( 'hi'、 'hello'、 'bye');
2つ以上の値の少なくとも1つがアレイに存在するかどうかを確認するにはどうすればよいですか?以下のような
:
場合(in_array( 'こんにちは'、$配列)|| 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)$/
)。
など。
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 ...あまりにも遅い –
というか: '場合(数(array_intersect(配列( 'こんにちは'、 'こんにちは'、 'BYE')、$配列)) > = 2) ' – ghoti
いいえ。彼は、少なくとも1つが存在すればtrueを返し、少なくとも2つが存在する場合は返しません。 – Interrobang
+1これは良いことです。ただし、カウントは不要です。ブール値として評価される空でない配列は常にtrueです。 – goat