Я использовал некоторую кодировку для изучения перерыва и продолжения. Оператор перерыва работает нормально, но оператор продолжения не работает. Я дам свой код
<?php
for($a=1; $a<=10; $a++){
echo $a;
echo "<br>";
if($a==6){
break;
}
else{
continue;
}
}
Потому что в вашем for
петли, continue
является последним утверждением, поэтому ничего нельзя пропустить, так как оно автоматически перейдет к началу следующей итерации.
продолжить используется внутри циклических структур, чтобы пропустить остальную часть
текущий цикл итерации и продолжить выполнение при условии
оценка, а затем начало следующей итерации
прерывание завершает выполнение текущего for, foreach, while, do-while или
структура переключателя.
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 -----------------------------------┘
|
} |
<--------------------┘
КАК КОММЕНТАРИЙ:
<?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
}
}
continue
означает «пропустить остаток цикла и вернуться к началу цикла», так как ваш continue
это последнее, что есть в вашем цикле, пропустить нечего, поэтому произойдет то же самое, continue
есть.
Ваша переменная не попадает в continue
заявление. Посмотрите на этот пример:
$i = 10;
while (--$i)
{
if ($i == 8)
{
continue;
}
if ($i == 5)
{
break;
}
echo $i . "\n";
}
Выход будет:
9 7 6