可能重複:
Short hand to do something like: if($variable == 1 || $variable == 「whatever」 || $variable == '492') .PHP:如果等於B或C或d
這是
if ($a==b||$a==c||$a==$d){ ...
來描述這種邏輯的最短途徑。 我的想法是這樣
if ($a==($b||$c||$d)) { ...
,但是這不是一個有效的代碼。有什麼建議麼?
可能重複:
Short hand to do something like: if($variable == 1 || $variable == 「whatever」 || $variable == '492') .PHP:如果等於B或C或d
這是
if ($a==b||$a==c||$a==$d){ ...
來描述這種邏輯的最短途徑。 我的想法是這樣
if ($a==($b||$c||$d)) { ...
,但是這不是一個有效的代碼。有什麼建議麼?
你可以使用in_array:
if(in_array($a, array($b,$c,$d))){
//do something
}
+1優秀的技術 – mrsrinivas 2012-07-23 11:27:00
公頃,我們相信 – bigkm 2012-07-23 11:27:54
你應該已經關閉這個問題作爲重複... – 2012-07-23 11:40:32
兩者都是不一樣的||
是布爾運算符,將總是返回true
或false
。因此,在第二個聲明中,您正在比較$a
是否爲true
或false
。
您可以使用in_array
比較,如果存在array($b, $c, $d)
$a
不知道爲什麼你想要做一些事情,但你可以把B,C,d數組並調用in_array功能來搜索元素。 但我不明白爲什麼你想簡短的代碼做簡短而不簡單。
因爲我有大約15個值,我想讓我在IF – Martin 2012-07-23 11:30:59
如此in_array我建議和其他。 – 2012-07-23 11:31:54
這種方法有什麼問題? – bugwheels94 2012-07-23 11:24:36
這是不正確的,因爲你試圖做布爾或||在非布爾值之間。 – rkosegi 2012-07-23 11:24:42
使用['in_array'](http://php.net/in_array)。 – deceze 2012-07-23 11:24:57