有人可以解释是否可以将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上进行了讨论,我尝试搜索但没有发现任何内容,尽管我的搜索条件可能是错误的。
答案 0 :(得分:4)
检查一下:
if (($Var1 == "a" && $Var2 == "z") || ($Var3 == "5")){
//TRUE
echo "HELLO WORLD";
//<some code block here>
}
事实上,你不需要额外的括号,因为&amp;&amp;优先级高于||。但是,它有助于让一切都很容易跟踪。
答案 1 :(得分:3)
像这样使用: -
if (($Var1 == "a" && $Var2 == "z") || ($Var3 == "5")) {
echo "Hello World";
}
答案 2 :(得分:3)
你快到了那里:
if ( ($Var1 == "a" && $Var2 == "z") || ($Var3 == "5") ) {
仔细查看括号的顺序。在我遇到的几乎所有语言中,条件中的括号表示括号中的表达式的结果将作为整体进行评估。 PHP也不例外 - 前半部分只有在var1 = a和var2 = z的情况下才为真,而另一半只有当var3 = 5时才为真。当[var1,var2] = [a时,则完成为真,z]或[var3] = [z]。
答案 3 :(得分:0)
if ($Var1 == 'a' && $Var2 == 'b' || $Var3 == 5)
{
//run block of code.
}