PHP if语句中有两个条件之一:如果a小于b或者b等于0。

3

我有一些庞大的代码块,希望避免使用elseif,问题是:是否可以构造一个带有两个可能性的IF函数在同一语句中? 类似这样的:

 if(a < b)或者(b = 0)
{
语句
}


elseif语句有什么问题? - Andreas Wong
你的意思是使用OR ||逻辑运算符吗?例如:if (a<b || b==0) - Aether
@ajreal,你漏掉了一个等号,那是对b的赋值。 - Luchian Grigore
3个回答

7
if( ($a < $b) || ($b==0) )
{
     //do something
}
甚至更好
if( ($a < $b) || (0==$b) )
{
     //do something
}

这样你就不会意外地将 0 赋值给 $b。


1
甚至可以这样写:if($a < $b || $b==0) - Subdigger
当写b == 0时,是谁将0分配给b? - Kaken Bok
3
你可能会无意中写成b=0,就像@ajreal在半个小时前的回复中所做的那样… - Luchian Grigore

0
if( ($a<$b) OR ($b == 0) )
{
  //do something
}

在这种情况下,括号并不是必需的,只是为了更清晰而添加的。


0
($a < $b ? 'a is smaller' : 'a equals or is greater');

快速简单,但不容易维护(个人观点)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,