цикл for — не работает оператор continue в php?

Я использовал некоторую кодировку для изучения перерыва и продолжения. Оператор перерыва работает нормально, но оператор продолжения не работает. Я дам свой код

<?php

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

echo $a;
echo "<br>";

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

}

0

Решение

Потому что в вашем 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
}

}
1

Другие решения

continue означает «пропустить остаток цикла и вернуться к началу цикла», так как ваш continue это последнее, что есть в вашем цикле, пропустить нечего, поэтому произойдет то же самое, continue есть.

3

Ваша переменная не попадает в continue заявление. Посмотрите на этот пример:

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

Выход будет:

9 7 6

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector