运行PHP程序后对变量值的混淆

2 php variables post-increment

我正在为我的决赛学习,我遇到了这个问题:

考虑以下PHP代码,在执行后写入输出

<?php
 $a=3;
 $b=$a++;
 IF($a>$b)
 {
   echo "a>$b";
 }
 else if ($a == $b)
 {
   echo "a=$b";
 }
 else
 {
   echo "a < $b";
 }
 ?>
Run Code Online (Sandbox Code Playgroud)

当我在我的文本编辑器中输出它时,我得到了a < 3,但我不明白为什么呢?

我认为a被分配给3并且b被分配给++ 3和3 == 3所以应该打印出== 3?

hjp*_*r92 5

不,您正在使用后增量运算符$a.因此,$b将赋值为3,之后,当语句执行时,$a将自己递增1,并变为4.因此,您现在将比较$a as 4和$b as 3.

因此,你得到了结果 a > 3