对于循环解释,(;;)的含义是什么

时间:2016-03-23 16:05:56

标签: php for-loop syntax conditional-statements

我查看了一些开源代码并发现了这个......

for(;;) {
   echo "a:" . $throttle->throttle($identifier, 5, 1000);
}

什么是;;代表声明 - 我之前从未遇到过这种说法吗?

5 个答案:

答案 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)循环。 其他参数也会被忽略,如您的问题所示,因为它们也是可选的,在您的情况下不需要。