【发布时间】:2011-04-08 02:10:02
【问题描述】:
我是编码世界的新手,这是我第一次了解循环。我在一个网站上看到了一个例子,结果完全被弄糊涂了。
/* Sample Code 1 */
$counter=0
$start=1
for($start;$start<11;start++) {
$counter=$counter+1;
print $counter;
}
这给了我 1,2,3,4,5,6,7,8,9,10 的结果
现在如果我更新代码如下
/* Sample Code 2 */
$counter=11;
$start=1;
for($start;$start<11;start++) {
$counter=$counter+1;
print $counter;
}
这给了我结果 12,13,14,15,16,17,18,19,20
但是,如果我按如下方式更新代码
/* Sample Code 3 */
$counter=11;
$start=1;
for($start;$start<11;start++) {
$counter=$counter-1;
print $counter;
}
我得到结果 10,9,8.7.6,5,4,3,2,1
如有错误请指正
如果变量 $counter 的值为 11,我基本上是在代码 $counter=$counter+1 中的 11+1 处开始递增。对吗?
但让我感到困惑的是,如果我在 FOR 循环中的最终值为 $start
【问题讨论】:
-
你把
counter和start混淆了。 -
SLaks 所说的。
$start必须小于 11,并且在循环结束时,即使您正在递增$counter。$start不是特殊变量或任何东西,它被用作循环中的条件的唯一原因是您在for(...)行中以这种方式指定了它。 -
您确定示例代码 2 中的结果还是只是拼写错误。它应该有 21 作为最后一个值。 $start
-
抱歉打错了。有一个 21 但这并没有引起我的困惑