簡體   English   中英

對於循環解釋,for(;;)的含義是什么

[英]For loop explanation what does for(;;) mean

我看了一些開源代碼,並發現了這一點...

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

什么是;; 代表for語句-我以前從未遇到過?

它與while(true),一個無限循環相同。

這是一個無限循環。 在典型的for循環中,分號之間有表達式。 如果將其保留為空白,則意味着循環永遠不會結束。

這是一個無限循環。 for循環的剖析為

  for (initialization_expression ; test_condition; update_expression) 
  {
        // Code 
  }

在您的情況下,所有三個部分都丟失了。 由於缺少測試條件,它將評估為true,並且循環將永遠繼續。

語法在“ 語言參考”→“控制結構”→ (強調我的)”中進行了解釋:

 for (expr1; expr2; expr3) 

[...]

每個表達式可以為空,或包含多個用逗號分隔的表達式。 在expr2中,對所有用逗號分隔的表達式求值,但結果取自最后一部分。 expr2為空意味着循環應無限期運行 (PHP像C一樣,將其隱式視為TRUE)。 這可能沒有您想像的那么無用,因為您通常希望使用條件性break語句而不是使用for true表達式來結束循環。

for(initialization;condition;increment/decrement)的語法,因此在for循環開始之前, 初始化被調用一次。 每次迭代后都會評估最后兩個參數

現在,如果刪除終止條件,則等效於while(true)循環。 就像您的問題一樣,其他參數也被忽略,因為它們也是可選的,在您的情況下不需要。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM