![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Иногда нужно не полностью прекратить работу цикла, а только начать его новую итерацию. Оператор continue позволяет пропустить дальнейшие инструкции из блока_выполнения любого цикла и продолжить выполнение с нового круга. continue можно использовать с числовым аргументом, который указывает, сколько содержащих его управляющих конструкций должны завершить работу.
Заменим в примере предыдущего параграфа оператор break на continue. Кроме того, ограничим число шагов цикла тремя.
<?php$i=1;while ($i<=4) { $n = rand(1,10); // генерируем произвольное число // от 1 до 10 echo "$i:$n "; // выводим номер итерации и // сгенерированное число if ($n==5) { echo "Новая итерация <br>"; continue; /* Если было сгенерировано число 5, то начинаем новую итерацию цикла, $i не увеличивается */ } echo "Цикл работает <br>"; $i++;}--$i;echo "<br>Число итераций цикла $i ";?>Результатом работы этого скрипта будет
1:10 Цикл работает 2:5 Новая итерация 2:1 Цикл работает 3:1 Цикл работает 4:1 Цикл работает Число итераций цикла 4Заметим, что после выполнения оператора continue работа цикла не заканчивается. В примере счетчик цикла не меняется в случае получения числа 5, поскольку он находится после оператора continue. Фактически с помощью continue мы пытаемся избежать ситуации, когда будет сгенерировано число 5. Поэтому можно было просто написать, заменив оператор continue на проверку истинности выражения:
<?php$i=1;while ($i<4) { $n = rand(1,10); // генерируем произвольное число // от 1 до 10 if ($n!==5) { echo "$i:$n <br>"; // выводим номер итерации // и сгенерированное число $i++; }}?>В PHP существует одна особенность использования оператора continue – в конструкциях switch он работает так же, как и break. Если switch находится внутри цикла и нужно начать новую итерацию цикла, следует использовать continue 2.
Дата публикования: 2015-01-24; Прочитано: 170 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!