Cai*_*uke 2 php if-statement boolean
我想知道是否有可能将这两个运算符(OR和AND)组合在一个if语句中.
if($apple==1 && $orange==2 || cake==0)
Run Code Online (Sandbox Code Playgroud)
我要说的是:如果苹果等于1而橙等于2,或者蛋糕等于0则执行此操作.换句话说,我需要苹果和橙子等于上面提到的数字或蛋糕等于0.
这个表达是否正确?如果没有,最简单的方法是什么?
谢谢.
您应该使用内括号作为优先级.
原因是......包含在括号内的第一个条件将被计算为一个块
正如其他用户所提到的那样,&&优先级高于|| 不需要括号,但是如果你的if语句继续这样说话.
if($apple==1 || $orange==2 && cake==0)
Run Code Online (Sandbox Code Playgroud)
然后你需要继续......
if(($apple==1 || $orange==2) && cake==0)
Run Code Online (Sandbox Code Playgroud)
旁注:使用parantheses总是一个很好的做法......
表达方式
$apple==1 && $orange==2 || $cake==0
Run Code Online (Sandbox Code Playgroud)
相当于
($apple==1 && $orange==2) || $cake==0
Run Code Online (Sandbox Code Playgroud)
因为&& 有更高的优先权.因此,它意味着"当苹果是1而橙子是2,或蛋糕是0".
虽然可以使用括号 - 并且可以使代码更具可读性 - 但在这种情况下不需要它们.但是,写作时需要括号
$apple==1 && ($orange==2 || $cake==0)
Run Code Online (Sandbox Code Playgroud)
这意味着"当苹果为1时,橙色为2或蛋糕为0".