7

重複の可能性:
次のようなことを行うための速記:if($ variable == 1 || $ variable ==“ whatever” || $ variable == '492')。

これは

if ($a==b||$a==c||$a==$d){ ... 

このロジックを説明する最短の方法。私は次のようなことを考えています

if ($a==($b||$c||$d)) { ...

しかし、それは有効なコードではありません。助言がありますか?

4

4 に答える 4

13

in_arrayを使用できます:

if( in_array($a, array($b,$c,$d)) ){
    //do something
}
于 2012-07-23T11:25:47.690 に答える
2

これは有効なコードですが、論理的には正しくありません。

あなたがたくさんの価値観を持っているなら、あなたはこのようなことをすることができます。

if(in_array($a,array($b,$c,$d))) {
}
于 2012-07-23T11:26:59.030 に答える
1

||どちらもブール演算子と同じではなく、常にtrueまたはを返しfalseます。したがって、2番目のステートメントでは、$aistrueまたは。を比較していますfalse

に存在in_arrayするかどうかを比較するために使用できます$aarray($b, $c, $d)

于 2012-07-23T11:25:57.613 に答える
1

なぜある種のことをしたいのかわかりませんが、b、c、dを配列に入れ、in_array関数を呼び出して要素を検索することができます。それでも、なぜあなたが短くて単純なコードを短くして単純ではないようにしたいのか理解できません。

于 2012-07-23T11:26:00.123 に答える