为什么while循环显示2个不同的输出?

时间:2018-03-10 07:29:58

标签: php while-loop

为什么while循环显示2个不同的输出?

      $a=1;
    while ($a++ <4) {
       echo $a. "<br>";

    }  // output is 2 3 4 but (4 is not less than 4 )



      $a=1;
    while (++$a <4) {
       echo $a. "<br>";

    }       // output is  2 3

拜托,有人可以解释一下我的细节差异吗? 在$ a ++中它显示输出2 3 4但是4不小于4 in而条件那么为什么它显示4不满足条件?

2 个答案:

答案 0 :(得分:0)

  • ++$a在执行

    之前增加值
  • $a++执行后增加值

答案 1 :(得分:0)

在简单的anwer中,当++用作后缀时,php首先执行while,然后将1个数字添加到$ a,首先表示你的开始$ i为1。

当++用作前缀时,php首先将1个数字添加到$ a,然后执行while,含义为last,而你的开头为2。

这与您的代码相同:

$a=1;
while ($a++ <4) {
   echo $a. "<br>";

}  // output is 2 3 4 but (4 is not less than 4 )
$a++;



$a=1;
$a++;
while (++$a <4) {
   echo $a. "<br>";

}       // output is  2 3