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

  • 本文关键字:echo not than greater else php if x++ php
  • 更新时间 :
  • 英文 :

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

此代码的输出为 -不大于 12

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

这里的问题是有两种不同的递增运算符。请参阅文档。

基本上:

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

由于优先级和增量。在递增之前比较该值。因此,该条件是错误的。如果您执行++$x而不是x$++,那么由于前后增量,您将得到不同的结果。如果你在$x++周围加上括号,那么它将首先被评估,你会把它评估为true。

最新更新