这似乎是一个愚蠢的问题,但它对我来说令人困惑++,它在php中的位置

问题描述

代码显示为10 ##

<?PHP

$value=1;

do{

echo $value."<hr>";

if ($value>=10) {

break;

}

$value++;



}while (true);

?>

但是此代码显示为9

<?PHP

$value=1;

do{

echo $value."<hr>";

$value++;



if ($value>=10) {

break;

}

}while (true);

?>

解决方法

在第一种情况下,您将打印10,意识到它是10(如果声明),然后中断。在第二种情况下,您将打印9,将其增加到10,然后意识到它是10并中断,因此从不打印10。

因此,如果您希望第二个也打印10,则需要在++之后增加更多回显,从而确保在达到中断之前增加该值。

,
  • 打印值(打印1)
  • ++(将$ value加1)
  • 检查值是>还是=等于10,如果是,则中断

这就是为什么循环永远不会打印10的原因,因为当值等于10时它会中断