Урок 8. Циклические конструкции: конструкция while

При создании сайтов приходится решать задачи различной сложности. Часто одно и то же действие нужно повторять несколько раз. Для этого в РНР используют циклические конструкции. РНР программа обычно  выполняется в порядке чтения кода слева на право и сверху вниз. В прошлых уроках можно было увидеть, как этот порядок изменяется при использовании условных конструкций. Но даже в этом случае программа выполняется по направлению к концу скрипта.

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

1. while
2. for
3. do… while
4. foreach

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

Синтаксис цикла while:

while (какое то выражение){
//блок команд
}

Пример цикла while:

<?php
//Присваиваем переменной начальное значение
$begin=0;
//Устанавливаем предельное значение
$end=9;
//Начинаем цикл с условием
while ($begin<=$end){
//Определяем номер итерации
$iteration = $ begin + 1;
echo “$iteration –я итерация<br />”;
//Обратите внимание!!! Здесь мы увеличиваем значение $begin!
$begin++;
}
?>

Данный скрипт выводит номера повторений цикла. Отсчет начинается со значения $begin, которое устанавливается в самом начале. Потом переменная $end определяет номер последней итерации, на которой цикл останавливается.

В большинстве языков программирования, в том числе и в РНР, отсчет начинается не с привычной для нас единицы, а с нуля. Таким образом, если мы считаем от 0 до 9, выйдет ровно 10 итераций цикла. Обратите внимание на эту особенность. Вы должны привыкнуть к таким нюансам программирования, чтобы избежать ошибок при написании приложений на РНР.

В примере выше цикл выполняется до тех пор, пока переменная $begin равна или меньше $end. Между фигурными скобками цикла (эту область еще называют телом цикла) присутствует оператор инкремента $begin ++. Благодаря эму значение $begin при каждом повторении цикла увеличивается на 1. Номер итерации для отображения на экране формируется в выражении $iteration = $begin + 1.Если программисту привычно то, что отсчет начинается с 0, то простой посетитель веб-сайта может этого не понимать. Мы присваиваем $iteration сумму $begin и единицы для того, чтобы привести номера итерации к привычному человеческому виду. В результате мы увидим на экране следующее:

1 –я итерация

2 –я итерация

3 –я итерация

4 –я итерация

5 –я итерация

6 –я итерация

7 –я итерация

8 –я итерация

9 –я итерация

10 –я итерация

Когда $begin становит больше 9, цикл останавливается, а управление переходит дальше.