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

两者都与||布尔运算符不同,并且将始终返回trueor false。因此,在第二个语句中,您正在比较 if $ais trueor false

您可以使用in_array比较是否$a存在于array($b, $c, $d)

于 2012-07-23T11:25:57.613 回答
1

不知道为什么你想做一些事情,但是你可以把 b,c,d 放在数组中并调用 in_array 函数来搜索元素。仍然我不明白为什么你想要简短而简单的代码使简短而不简单。

于 2012-07-23T11:26:00.123 回答