Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
php учебник_весь.doc
Скачиваний:
8
Добавлен:
21.09.2019
Размер:
2.06 Mб
Скачать

Операторы цикла/ While

Оператор while называется оператором цикла с предусловием. При входе в цикл вычисляется выражение условие, и, если его значение отлично от нуля, выполняется тело цикла. Затем вычисления выражения условия и операторов тела цикла выполняется до тех пор, пока значение выражения условия не станет равным нулю. Оператором while удобно пользоваться для просмотра всевозможных последовательностей, если в конце них находится заранее известный символ. (Это очень удобно в C++, к примеру для определения длины строки, поскольку в С++, по определению, строка есть последовательность символов типа char, заканчивающаяся нулевым символом).

Пример простейшего цикла while:

<?

$var = 5;

$i = 0;

while(++$i <= $var)

{

echo($i); echo('<br>');

}

?>

Этот код выдает в окне браузера цифры от одного до пяти:

Для выхода из цикла применяется оператор break. При обнаружении этого оператора текущая итерация цикла прекращается, и последующие итерации не происходят. При выполнении следующего примере, несмотря на то, что переменная $var = 7, в окне браузера появятся цифры от 1 до 5.

<?

$var = 7;

$i = 0;

while(++$i <= $var)

{

echo($i);

echo('<br>');

if($i==3)break;

}

?>

Иногда бывает нужно прервать только текущую итерацию, и перейти сразу к следующей. Для этого применяется операторcontinue:

<?

$var = 7;

$i = 0;

while(++$i <= $var)

{

if($i==5)

{

continue;

}

echo($i);

echo('<br>');

}

?>

В этом примере выводятся цифры от 1 до 7, кроме цифры 5:

Заметим, что если Вы условный оператор поставите после операторов echo, код будет ошибочным, и выведутся все цифры от 1 до 20, поскольку проверка условия выхода из цикла на данной итерации, будет происходить уже после выполнения этой итерации.

Бесконечный цикл реализуется при помощи оператора while следующим образом:

while(1)

{

...

}

Это тоже самое, что и запись while(true).

Операторы цикла/ Do…while

Этот оператор называется оператором цикла с постусловием. При входе в цикл в любом случае выполняется тело цикла (т.е. цикл всегда будет выполнен хотя бы один раз), затем вычисляется условие, и если оно не равно 0, вновь выполняется тело цикла. В нижеследующем примере ноль всегда будет добавлен в список, независимо от условия (++$i <= $var):

<?

$var = 5;

$i = 0;

do

{

echo($i); echo('<br>');

}

while(++$i <= $var)

?>

Результат:

Цикл с постусловием бывает полезен при обработке некоторых последовательностей, когда обработку нужно заканчивать не до, а после появления концевого признака.

Бесконечный цикл реализуется так:

do ; while(1);

Операторы цикла/ For

Как уже говорилось, итерационный цикл имеет следующий формат:

for(expression1;expression2;expression3)

{

statements;

}

Здесь expression1 (инициализация цикла) – последовательность определений и выражений, разделяемая запятыми. Все выражения, входящие в инициализацию, вычисляются только один раз при входе в цикл. Как правило, здесь устанавливаются начальные значения счетчиков и параметров цикла. Смысл выражения-условия (expression2) такой же как и у циклов с пред- и постусловиями. При отсутствии выражения-условия предполагается, что его значение всегда истинно. Выражения expression3 вычисляются в конце каждой итерации после выполнения тела цикла.

В следующем скрипте, мы по традиции выведем числа от 0 до 5:

<?

$var = 5;

$i = 0;

for ($i = 0; $i <= $var; $i++)

{

echo($i);

echo('<br>');

}

?>

Результат аналогичен, показанному на предыдущем рисунке.

Бесконечный цикл можно организовать следующим образом:

for(;;);

или

for(;1;);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]