0

有人可以解释是否可以将 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 上讨论过,我尝试搜索但什么也没找到,尽管我的搜索词可能是错误的。

4

4 回答 4

4

检查这个:

if (($Var1 == "a" && $Var2 == "z") || ($Var3 == "5")){
    //TRUE
        echo "HELLO WORLD";

        //<some code block here>
}

事实上,您不需要额外的括号,因为 && 的优先级高于 ||。但是,它有助于让一切都易于跟踪。

于 2013-04-08T12:10:08.857 回答
3

像这样使用:-

if (($Var1 == "a" && $Var2 == "z") || ($Var3 == "5")) {
    echo "Hello World";
}
于 2013-04-08T12:10:51.000 回答
3

你几乎在那里:

if ( ($Var1 == "a" && $Var2 == "z") || ($Var3 == "5") ) {

仔细看括号的顺序。在我遇到的几乎所有语言中,条件中的括号表示括号中表达式的结果将作为一个整体进行评估。PHP 也不例外 - 前半部分仅在 var1 = a 和 var2 = z 时为真,而后半部分 or 仅在 var3 = 5 时为真。当 [var1, var2] = [a ,z] 或 [var3] = [z]。

于 2013-04-08T12:11:07.973 回答
0
if ($Var1 == 'a' && $Var2 == 'b' || $Var3 == 5)
{ 
//run block of code.
}
于 2013-04-08T12:11:39.623 回答