php复杂的布尔表达式

时间:2014-12-11 12:35:17

标签: php boolean expression logical-operators evaluation

昨天我参加了面试,得到了以下测试问题:

这个逻辑的输出是什么:

if(TRUE && FALSE AND TRUE OR 1 || TRUE && ((TRUE || FALSE) || FALSE)) {
   PRINT "A";
} 
else print "B";

我必须在头脑中评估结果,这是我无法做到的。

你会怎么做?

3 个答案:

答案 0 :(得分:3)

表达式位于任何括号外的中间:OR 1 ||。左右表达式的评估方式无关紧要,最后它们与OR TRUE结合使用,结果始终为TRUE

打印值为A

答案 1 :(得分:0)

结果将打印A

它会进入if

<强>解释

TRUE&amp;&amp; FALSE和TRUE或1 ||真实&amp;&amp; ((TRUE || FALSE)|| FALSE)

TRUE&amp;&amp; FALSE - &gt; FALSE - &gt;让我知道错误(1)

FALSE(1)AND TRUE - &gt; FALSE - &gt;让我们知道错误(2)

FALSE(2)OR 1 - &gt; TRUE - &gt;得名是真的(3)

------现在第二部分------------

TRUE - &gt;是的(4)

((TRUE || FALSE) - &gt; TRUE(5)

TRUE(5)|| FALSE - &gt;是的(6)

现在

结合两个表达式:

TRUE(3)|| TRUE(6)是TRUE

答案 2 :(得分:0)

看看OR 1 因为这是......所以我们把它称为顶级,它将是真实的或其他任何东西......这导致“真实”;)