问题描述
此代码显示为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时它会中断