Оператор break
Оператор break позволяет выйти из самого внутреннего цикла или оператора switch. Читатель может уже убедиться в том, что это позволяет повысить удобство использования операторов switch. И для циклов этот оператор тоже находит свое применение. Может так случиться, что потребуется выйти из цикла где-то посередине его выполнения, - в листинге 3.6 демонстрируется как раз такой случай.
| Листинг 3.6. Выход из цикла с помощью оператора break_
<?php
while(TRUE)
{
print("Эта строка печатается.");
break;
print("Эта строка не будет распечатана никогда.");
}
?>
Оператор break также позволяет выходить из вложенных циклов, для этого после самого оператора ставится определенная цифра. В листинге 3.7 показан выход из двух вложенных циклов.
| Листинг 3.7. Выход из вложенных циклов_
<?php
while(TRUE)
{
while(TRUE)
{
print("Эта строка печатается."); break 2;
}
print("Эта строка не будет распечатана никогда.");
}
?>
Оператор continue
Оператор continue по своему действию во многом аналогичен оператору break, за исключением того, что он не завершает полностью работу цикла, а только лишь текущую итерацию. Управление передается закрывающей фигурной скобке, и цикл продолжает выполняться дальше. Внутри циклов for, которые описываются ниже, приращение индекса цикла осуществляется так, как если бы цикл доработал нормально до конца.
Как можно себе представить, этот оператор используется для пропуска части цикла, когда выполняется определенное условие (листинг 3.8). Случайные числа генерируются внутри цикла, пока не будет сгенерировано десять чисел, каждое из которых будет больше предыдущего. Большую часть само тело цикла не будет работать из-за работы оператора if, который инициирует работу оператора continue.
Подобно оператору break, можно задавать оператор continue с последующим целым числом. В этом случае управление передается вверх на указанное число уровней.
Оператор do...while
Принятие решения о продолжении выполнения цикла можно отложить на конец цикла, воспользовавшись оператором do...while. В листинге 3.9 повторяется алгоритм из листинга 3.5. Вы не заметите никакой разницы в работе программного кода, приведенного в этих листингах, до тех пор, пока дело не дойдет до пятницы. В этом случае программный код из листинга 3.5 ничего не выведет на печать. Новая же версия добавит в список дней пятницу, так как тело цикла выполняется до выполнения проверки значения переменной currentDate. Переход на цикл do.while позволит вывести на печать перечень дней до следующей пятницы.
| Листинг 3.9. Использование цикла do...while для печати названий дней недели
<?php
/*
** Присвоить переменной $currentDate значение текущей даты в секундах
*/
$currentDate = time();
// Напечатать какой- нибудь поясняющий текст print("До следующей пятницы осталось (дней):^");
print("<ol>n");
do
{
/*
** Распечатать название дня недели
*/
print("<li>" . date("l", $currentDate) . "</li>n");
/*
** Прибавить к переменной $currentDate 24 часа
*/
$currentDate += (60 * 60 * 24);
}
while(date("l", $currentDate) != "Friday"); print("</ol>n");
?>
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
PHP. Операторы управления. Часть Четвёртая.
28-12-2009
<< Предыдущая статья | Следующая статья >> |
PHP. Операторы управления. Часть Третья. | PHP. Операторы управления. Часть Пятая. |