Опубликован: 08.05.2007 | Доступ: свободный | Студентов: 12883 / 3013 | Оценка: 4.13 / 3.77 | Длительность: 12:58:00
Лекция 5:

Циклические структуры

< Лекция 4 || Лекция 5: 12 || Лекция 6 >
Аннотация: В программировании часто необходимо повторить один и тот же блок кода несколько раз. Это можно реализовать с помощью операторов цикла. Язык PHP содержит несколько типов операторов цикла

Циклы while

В программировании часто необходимо повторить один и тот же блок кода несколько раз. Это можно реализовать с помощью операторов цикла. Язык PHP содержит несколько типов операторов цикла. Данный раздел рассматривает цикл while.

Оператор while циклически повторяет блок кода, пока указанное условие имеет значение true. Другими словами, оператор while будет выполнять блок кода, если и пока условие будет истинным.

Базовый синтаксис цикла while показан ниже.

while (условие) {
выполняемый код;
}

Код в цикле while будет повторно выполняться, пока условие в начале цикла имеет значение true. Блок кода, связанный с оператором while, всегда заключается в фигурные скобки.

Следующий пример демонстрирует цикл while, который будет выполняться, пока значение переменной $number будет больше или равно 2.

<?php
$number = 5;
while ($number >= 2) {
	echo $number . "<br/>";
	$number -= 1;
}
?>

В приведенном выше примере переменная $number получает начальное значение, равное 5. Цикл while выполняется, пока условие ( $number >=2 ), или значение $number больше или равно 2, и печатает в окне браузера значение $number. В конце блока цикла значение $number уменьшается на 1.

Ниже показан вывод, создаваемый примером цикла.

5
4
3
2

При первом выполнении значение $number равно 5. Так как 5 больше 2, используется оператор echo для вывода значения 5. При выводе присоединяется <br/>, чтобы создавать возврат каретки при каждом выполнении цикла. Затем значение $number уменьшается на 1. Во время второй итерации значение $number равно 4. Так как 4 больше 2, то оператор echo выводит значение 4. Этот процесс продолжается, пока значение $number равно 3 и 2. Когда $number равно 2, оператор echo выводит значение 2, а значение $number затем уменьшается на 1. Так как 1 не больше и не равно 2, то условие больше не выполняется, и цикл while заканчивается.

Циклы do while

Оператор do...while повторяет циклически блок кода, пока определенное условие принимает значение true. Другими словами, оператор do…while будет выполнять блок кода, если и пока условие будет выполняться (т.е. оцениваться как true ).

Цикл do...while аналогичен по своей природе циклу while, рассмотренному в предыдущем разделе. Ключевое различие состоит в том, что тело цикла do...while будет обязательно выполнено как минимум один раз. Это связано с тем, что оператор условия оценивается в конце оператора цикла после выполнения тела цикла.

Базовый синтаксис цикла do…while показан ниже.

do {
выполняемый код;
} 
while (условие);

Выполнение кода внутри цикла do…while будет повторяться, пока условие в конце цикла будет оцениваться как true. Блок кода, связанный с оператором do…while, всегда размещается внутри фигурных скобок.

Следующий пример демонстрирует цикл do…while, который продолжает выполняться, пока переменная $number будет больше или равна 2.

$number = 5;
do {
echo $number . "<br/>";
$number -= 1;
 }
while ($number >= 2);

В приведенном выше примере переменная $number инициализируется значением 5. Цикл do…while выполняется до тех пор, пока справедливо условие ( $number >=2 ) или $number больше или равно 2, выводя значение $number в окне браузера. В конце блока цикла значение $number уменьшается на 1.

Ниже показан вывод, создаваемый примером цикла:

5
4
3
2

Во время первого выполнения значение $number равно 5. Так как условие для выполнения цикла не проверяется, пока цикл не будет выполнен один раз, то выводится значение $number, равное 5. Затем значение $number уменьшается на 1, становясь равным 4. Так как 4 больше 2, снова выполняется цикл, и во время второй итерации используется оператор echo для вывода значения 4. В вывод добавляется <br/>, чтобы создать возврат каретки при каждом выполнении цикла. Этот процесс продолжается, пока значение $number равно 3 и 2. Когда $number становится равным 2, оператор echo выводит значение 2, и значение $number уменьшается затем до 1. Так как 1 не больше и не равно 2, то условие больше не выполняется, и цикл do…while заканчивается.

< Лекция 4 || Лекция 5: 12 || Лекция 6 >
Максим Матросов
Максим Матросов
Наталья Джабасова
Наталья Джабасова