2015-05-23 227 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"; 
} 

输出将是: