<! - ?php $ x = 11; if($ x ++ - > 11){echo“$ x”; } else {echo“不大于$ x”; }?&gt;

时间:2018-01-03 23:58:58

标签: php

 <?php

 $x=11;
if ($x++>11)
{
    echo "$x";
}
else
{
    echo "not greater than $x";
}
?>

此代码的输出是 - 不超过12

我想知道为什么会这样。 谢谢!

2 个答案:

答案 0 :(得分:1)

由于PrecedenceIncrement。在递增之前比较该值。因此,这种情况是错误的。如果您执行的是++$x而不是x$++,那么由于前后增量,您将获得不同的结果。如果你在$x++附近放置括号,那么它将首先被评估,你将评估为真。

答案 1 :(得分:1)

这里的问题是有两个不同的递增运算符。请参阅documentation

基本上:

  • $x++按原样使用$x,然后递增。
  • ++$x递增,然后使用变量。