这段代码确实回显了10到19,但是它不应该给出20吗?因为当它达到19时它仍然小于20,所以条件仍然是真的并且应该最后一次运行代码并且输出1到20.我知道我可以添加< =而不是它,但它应该在没有它的情况下工作,或者我在这里错过了什么?
$num1 = 10;
while ($num1 < 20) {
echo $num1;
$num1++;
}
答案 0 :(得分:2)
让我们踩过正在发生的事情:
$num1 = 10; // $num1 = 10, no issue
while ($num1 < 20) { // If $num1 is less than 20, do
// everything between { and }
echo $num1; // print the value of $num1 as it is
// at this point of time. Can only be
// in the range from 10 to 19
$num1++; // Increment the value of $num1 by 1
}
// Just for fun
echo $num1; // displays 20 as that is current value
// of $num1
在echo $num1;
,由于while
声明$num1 < 20
,您只会看到最大值19。
看到echo
的{{1}}后,19
的值将为$num1
,因为这是20
所说的。< / p>
或者,您可以执行以下操作来打印从$num1++
到11
的数字:
20