【发布时间】:2018-06-29 17:59:15
【问题描述】:
当我尝试使用下面的代码作为 $j 的后增量或前增量时,结果总是相同的。你知道为什么吗?请告诉我。谢谢。
<?php
$j = 1;
while( $j < 20 ) {
$j++;
echo "1 * $j is equal to $j <br/>";
}
?>
【问题讨论】:
-
因为
$j++自己在一条线上。它不是在$j的增量之前或之后出现的另一个表达式的一部分。当它自己在一条线上时$j++;和++$j;做同样的事情。问问你自己:“在什么之后增加j before what?" or "incrementj`”?现在,如果你有while ($j++ < 20) ...,那么$j将在 与 20 比较后递增。而如果你写while (++$j < 20) ...,$j的值将在 之前递增$j与 20 进行了比较。这是因为现在$j是一个更大的表达式的一部分,其中顺序很重要。 -
@lurker 最好最详细的解释。
-
感谢您的解释。
标签: php increment post-increment pre-increment