Главная > Программирование > РНР: настольная книга программиста
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

13.12. Операторы цикла в PHP

Циклы в программировании — это повторяющиеся несколько раз операции. Начало (точка отсчета) указывается в начале цикла, а продолжительность его выполнен ия ограничивается каким-либо условием. Операторы цикла (iteration statements) повторяют заданную последовательность операторов фиксированное число раз или до тех пор, пока не будет удовлетворено условие проверки. Существует три типа циклических операторов:

• while,

• do,

• for.

13.13. Конструкция while

Цикл while проверяет выражение, и в том случае, если оно равно true, выражение выполняет одиночный или составной оператор:

$i = 1;

while ($i <= 10) {

    print $i++;

}

Сначала проверяется выражение. Если $i меньше или равно 10, то выполняется оператор print $i++;. Если $i больше 10, то цикл передаетуправление следующему за ним оператору. Важной характеристикой цикла while является то, что оператор никогда не выполнится, если условие изначально было ложно.


ВНИМАНИЕ

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


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

while ($name++ < 10)

;

Правила проверки контрольного выражения те же самые, что и для выражений в операторе if. Ниже изображена структурограмма цикла while (рис. 13.3).

Примером цикла может служить копирование нескольких файлов. Алгоритм выполнения этого задания можно описать так: установить счетчик скопированных файлов на нуль, скопировать файл, проверить, закончились файлы или нет: если нет — увеличить на счетчике количество скопированных файлов и вернуться к началу цикла (опять скопировать файл), если да — закончить цикл.

Рис. 13.3. Цикл while

Рассмотрим элементарную программу сложения чисел от 0 до того значения, которое будет задано пользователем. Для этого необходимо задать файл index.htm, через который будет производиться вызов программы РНР и при этом задаваться значение переменной. Например, имя переменной, которая будет использоваться в программе — $name = 30;. Тогда сам скрипт будет выглядеть следующим образом:

<?

$name = 30;

$my = 0;

while($my < $name) {

    $my++;

}

echo $my;

?>

Значение переменной $name = 30; в начале программы задано намеренно, чтобы вы могли сразу реализовать данную программу. Реально ее там не будет, а само значение она будет получать из файла index.html. Результатом выполнения данной программы будет равное 30.

Иногда в конце конструкции while применяется оператор endwhile.

while(условие):

    выражения

endwhile;

Например:

$i = 1;

while ($i <= 10) : print $i; $i++; endwhile;

Этот оператор не обязателен, его отсутствие в программе не вызовет никакой ошибки.

<< Предыдущий параграф Следующий параграф >>
Оглавление