2015-05-23 224 views
0

我使用了一些編碼學習中斷和繼續聲明。 break語句正常工作,但continue語句不起作用。我會給我的codeing不工作繼續在PHP語句?

<?php 

for($a=1; $a<=10; $a++){ 

    echo $a; 
    echo "<br>"; 

    if($a==6){ 
     break; 
    } 
    else{ 
     continue; 
    } 

} 
+1

因爲繼續是完全沒用在這裏。把你的if-else條件放在你的echo語句之上。 – Rizier123

回答

1

因爲在你for循環,continue是最後的語句,因此,沒有什麼可跳過,因爲它會自動進入下一次迭代的開始。

CONTINUE

繼續被內循環結構用來跳過 當前循環迭代的其餘部分,並在條件 評價繼續執行,然後在下一次迭代

BREAK的開始

休息結束CUR的執行租,的foreach,同時,這樣做,而或 開關結構。

for($a=1; $a<=10; $a++){<--------------------┐ 
               | 
     echo $a;         | 
     echo "<br>";        | 
     if($a==6){        | 
      break; ----- jumps here ------┐  | 
     }         |  |        
              |  | 
    Remove else `continue` here,it will go |  | 
    to the beginning automatically until |  | 
    loop fails -----------------------------------┘ 
              | 
    }          |  
        <--------------------┘ 

AS PER評論:

<?php 
    for($a=1; $a<=10; $a++){ 

    echo $a; 
    echo "<br>"; 

    if($a==6){ 
     break; 
    } 
    else{ 
     echo "before continue <br/>"; 
     continue; 
     echo "after continue <br/>"; // this will not execute because continue goes beginning of the next iteration 
    } 

} 
+0

如何我會用break和continue語句相同的循環? –

+0

@ABSiddik,看到更新的答案 –

3

continue的意思是「跳過循環的其餘部分,回到循環的頂部」,因爲你的continue是在循環的最後一件事,沒有什麼跳過,所以無論continue是否在那裏,也會發生同樣的事情。

0

您的變量未打到continue聲明。請看下面的例子:

$i = 10; 
while (--$i) 
{ 
    if ($i == 8) 
    { 
    continue; 
    } 
    if ($i == 5) 
    { 
    break; 
    } 
    echo $i . "\n"; 
} 

輸出將是: