此示例已作为在PHP.net上编写for
循环的替代示例(准确示例4)。
for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);
我理解for
循环,我只是不明白为什么变量$j
在此版本中编写了一个打印数字1到10的for循环。
FYI:从for循环中删除变量对结果没有任何影响。
答案 0 :(得分:4)
我认为这只是为了说明你可以用逗号使用多个语句这一事实 它在这里没用,但是显示了以下语法的示例:
[...]每个表达式都可以为空或包含用逗号分隔的多个表达式。在expr2中,将使用逗号分隔所有表达式,但结果取自最后一部分。 [...]
答案 1 :(得分:3)
虽然在这个例子中似乎没有必要。似乎$j
存储迭代的总和:
1+2+3+4+5+6+7+8+9+10 = 55
在某些情况下这可能很有用。因此,这意味着这种循环方式相当于在每次迭代时执行多次操作,例如获取求和,平均值,最大值等。示例的要点是您可以应用以逗号分隔的多个语句。 / p>
答案 2 :(得分:2)
解释
for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);
for循环由分号(;)分隔三部分。
递增或递减。
现在在你的增量或减量部分你有三个任务 1.最后$ i增加$ j 打印$ i 3.将$ i增加1
所以在你的程序中,$ j没用。因为它没有参加 打印或比较和测试。
因此,如果从每个位置删除$ j并将其写为
,则循环非常简单for ($i = 1; $i <= 10; $i++){
print $i;
}
但是这个$ j变量可以在循环之后使用,你可以使用这个代码块。
<强> LIKE 强>
for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);
print $j;