有人可以解释是否有可能将PHP If条件语句(其中包含AND)与另一个或合并?如果是这样,该如何构建语法呢?哪个优先?
例如,我们的目标是…
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") ) {
仔细看括号的顺序。在我遇到的几乎每一种语言中,条件语句中的括号都表示要对括号内表达式的结果进行整体求值。PHP也不例外——只有当var1 = a和var2 = z时,前半部分才为真,而当var3 = 5时,后半部分才为真。当[var1, var2] = [a,z]或[var3] = [z]时,complete为真。
这样使用:-
if (($Var1 == "a" && $Var2 == "z") || ($Var3 == "5")) {
echo "Hello World";
}
if ($Var1 == 'a' && $Var2 == 'b' || $Var3 == 5)
{
//run block of code.
}