for(;;)
{
if(!$monitor->Throttle($cause))
die('Fatal error: '.$monitor->error);
if($cause == THROTTLE_CAUSE_NONE)
break;
sleep(60);
}
我是一个初学php开发人员。那么如何阅读前面的代码中的“for”语法。它有效吗?这段代码中的“for(;;)”语法是什么?
for(;;)
{
if(!$monitor->Throttle($cause))
die('Fatal error: '.$monitor->error);
if($cause == THROTTLE_CAUSE_NONE)
break;
sleep(60);
}
我是一个初学php开发人员。那么如何阅读前面的代码中的“for”语法。它有效吗?这段代码中的“for(;;)”语法是什么?
for(;;)
是一个C成语,意思是“永远做”,一个无限循环。只有当die
语句触发(剧烈),或者原因设置为THROTTLE_CAUSE_NONE
(不那么剧烈)时,该循环才会退出。
这是一个for
循环,没有预先设置,没有条件,也没有后迭代命令,实际上与while true
(伪代码)一样。
for(;;)
基本上是一个无限循环,仅此而已:)
这是一个永远的循环。
它是有效的。它创建一个无限循环,在这种情况下,将在break/break语句执行时被分解出来,即if($cause == THROTTLE_CAUSE_NONE)
Ugh。
它是有效的语法,它创建一个无限循环。但它很丑。
一个更华丽的方式做这将是
while ($cause = $monitor->Throttle($cause) != THROTTLE_CAUSE_NONE)
{
if(!$cause)
die('Fatal error: '.$monitor->error);
sleep(60);
}
for循环有四个部分:
for(initialization; exit condition; step) { body; }
你的循环有没有人,所以没有退出条件它将只一直运行,直到击中'break'一句:
if($cause == THROTTLE_CAUSE_NONE)
break;
等价物是:
while(True) { ... }
+1对于玩的话:P – BoltClock 2010-10-27 09:25:38
@BoltCLock我很高兴至少有人认出它。 – joni 2010-10-27 09:32:42