PHP在if语句中组合布尔运算符(AND,OR)


PHP combining boolean operators (AND, OR) in an if statement

我想知道是否可以像这样将两个运算符(OR和and)组合在一个if语句中。

if($apple==1 && $orange==2 || cake==0)

我想说明的是:如果苹果等于1,橙色等于2,或者蛋糕等于0,那么就这样做。换句话说,我需要苹果和桔子等于上面所说的数字,或者蛋糕等于0。

这个表达正确吗?如果没有,最简单的方法是什么?

谢谢。

您应该使用内括号来获得优先级。。

原因是..括号内的第一个条件将被评估为块

正如另一位用户所提到的,&&||具有更高的优先级,不需要括号,但假设您的if语句继续这样。。

if($apple==1 || $orange==2 && cake==0) 

然后你需要继续。。

if(($apple==1 || $orange==2) && cake==0)

旁注:使用超自然现象总是一种很好的做法。。。

表达式

$apple==1 && $orange==2 || $cake==0

相当于

($apple==1 && $orange==2) || $cake==0

因为CCD_ 4具有更高的优先级。因此,它的意思是"当苹果是1,橙子是2,或者蛋糕是0"。

虽然可以使用括号,并且可以使代码更可读,但在这种情况下不需要括号。但是,在编写时需要插入括号

$apple==1 && ($orange==2 || $cake==0)

这意味着"当苹果为1,橙色为2或蛋糕为0时"。

在您的情况下,子句应该如下所示。

if(($apple==1 && $orange==2) || cake==0)