我刚刚进入编程世界,正在学习所有关于循环的知识。我只是学习了for和while循环,但不明白为什么返回不同的结果。有没有人能用外行的话解释一下逻辑。
循环代码的/* */
$counter = 0;
$start = 1;
$end = 11;
for($start;$start<$end;start++) {
$counter=$counter+1;
print $counter;
}我得到的结果是1,2,3,4,5,6,7,8,9,10
/* while循环代码*/
$start=0;
$end=11;
while($start<end) {
$start=$start+1;
print $start;
}我得到的结果是1,2,3,4,5,6,7,8,9,10,11
为什么while循环返回从1到11的结果,而for循环返回从1到10的结果
发布于 2011-04-11 10:59:35
在for情况下,$start从1开始,但在while情况下,$start从0开始。
在for上工作-
iteration $start $start<$end counter print start++
1 1 1<11 1 1 2
2 2 2<11 2 2 3
3 3 3<11 3 3 4
4 4 4<11 4 4 5
5 5 5<11 5 5 6
6 6 6<11 6 6 7
7 7 7<11 7 7 8
8 8 8<11 8 8 9
9 9 9<11 9 9 10
10 10 10<11 10 10 11
11 11 11<11
// (false) break类似地,在while循环上工作。这是一个纸笔练习。
发布于 2011-04-11 11:04:37
for循环中的增量在第一个循环之后执行。
试试这个:
$start=1;
$end=11;
while($start<end) {
print $start;
$start=$start+1;
}发布于 2011-04-11 11:01:23
两个计数器未初始化为相同的值,请使用
$start = 1;https://stackoverflow.com/questions/5616363
复制相似问题