我查看了一些开源代码并发现了这个......
for(;;) {
echo "a:" . $throttle->throttle($identifier, 5, 1000);
}
什么是;;代表声明 - 我之前从未遇到过这种说法吗?
答案 0 :(得分:1)
它与while(true)相同,是一个无限循环。
答案 1 :(得分:1)
这是一个无限循环。在典型的for循环中,分号之间有表达式。如果你把它留空,那就意味着它永远不会结束。
答案 2 :(得分:1)
这是一个无限循环。 for循环的剖析是
for (initialization_expression ; test_condition; update_expression)
{
// Code
}
在您的情况下,所有3个部分都丢失了。由于缺少测试条件,它将评估为真,循环将永远持续。
答案 3 :(得分:1)
语法在语言参考→控制结构→for (强调我的)中解释:
for (expr1; expr2; expr3)
[...]
每个表达式都可以为空或包含用逗号分隔的多个表达式。在expr2中,所有表达式都是分开的 通过逗号进行评估,但结果取自最后一部分。 expr2为空意味着循环应该无限期地运行(PHP隐式地将其视为TRUE,如C)。这可能不会毫无用处 你可能会想,因为你经常想用一个结束循环 条件break语句,而不是使用for truth expression。
答案 4 :(得分:1)
for(initialization;condition;increment/decrement)
的语法
所以在for循环开始之前调用初始化一次。
每次迭代后都会计算最后两个参数。
现在,如果删除终止条件,则相当于while(true)
循环。
其他参数也会被忽略,如您的问题所示,因为它们也是可选的,在您的情况下不需要。