[英]PHP AND (&&), OR (||) prioritisation in conditional statements
有人可以解释一下是否可以将一个PHP If条件语句(包含说AND)与另一个OR语句合并吗? 如果是这样,将如何构造语法? 哪个优先?
例如,目标可能是实现...
IF ($Var1 == "a" && $Var2 == "z"){
//TRUE
echo "HELLO WORLD";
//<some code block here>
}
OR
IF ($Var3 == "5"){
//TRUE
echo "HELLO WORLD";
//<some code block here>
}
但合并为一个if条件语句,这样我就不必为两个if语句复制我的代码块(我知道我可以将代码放在函数的IF语句中运行,但是还有另一种方法它)。
因此,总而言之(注意,以下括号仅作为对项目进行分组的一种方式,以表明我打算如何运行/处理代码):
(If Var1 = a AND Var2 = b) OR (if Var3 = 5), run block of code.
如果有人可以帮助我,我将非常感激。 我已经尝试找出这个问题好几个月了,但是却一无所获。 抱歉,如果已经在Stack Overflow上对此进行了讨论,我尝试搜索但没有发现任何结果,尽管我的搜索字词可能是错误的。
检查一下:
if (($Var1 == "a" && $Var2 == "z") || ($Var3 == "5")){
//TRUE
echo "HELLO WORLD";
//<some code block here>
}
实际上,您不需要多余的括号,因为&&的优先级高于||。 但是,它有助于使所有内容易于跟踪。
像这样使用:
if (($Var1 == "a" && $Var2 == "z") || ($Var3 == "5")) {
echo "Hello World";
}
您几乎在那里:
if ( ($Var1 == "a" && $Var2 == "z") || ($Var3 == "5") ) {
仔细查看括号的顺序。 在我所遇到的几乎每种语言中,条件括号都表示要对括号中表达式的结果进行整体评估。 PHP也不例外-前半部仅在var1 = a和var2 = z时才为真,而or的另一半则仅在var3 = 5时才为真。 ,z]或[var3] = [z]。
if ($Var1 == 'a' && $Var2 == 'b' || $Var3 == 5)
{
//run block of code.
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.