PHP :: Циклы while и do/while
Цикл while в PHP
Представителем простейшего вида циклов в PHP является цикл while, который служит для повторного выполнения кода, расположенного в его теле, до тех пор, пока условие цикла остается истинным, т.е. имеет значение true (см. пример №1).
<?php //Присвоили переменной стартовое значение $a=6; while($a<=10){ //Код выполняется пока $a<=10 echo $a=++$a; } /* Выведет в ходе цикла 7891011 */ ?>
Пример №1. Цикл while
Как видно из примера, условие цикла записывается в круглых скобках после ключевого слова while, затем в фигурных скобках записывается блок инструкций для исполнения. Работает цикл while следующим образом: каждый раз перед выполнением новой итерации, т.е. очередного выполнения блока инструкций в теле цикла, происходит проверка его условия и, если результат будет иметь значение true, код в теле цикла выполняется; далее интерпретатор возвращается в начало цикла и снова проверяет его условие, повторяя все процедуры заново до тех пор, пока условие цикла не вернет значение false; в этом случае интерпретатор прерывает выполнение цикла и, пропустив блок инструкций в его теле, передает управление следующему за циклом оператору.
Цикл do/while в PHP
Цикл do/while очень похож на цикл while, но в нем истинность выражения проверяется не в начале итерации, а в конце (см. пример №2).
<?php //Присвоили переменной стартовое значение $a=6; do{ //Код выполняется пока $a<=10 echo $a=++$a; //Условие цикла проверяется в конце после тела }while($a<=10); /* Выведет в ходе цикла 7891011, как и в случае цикла while в предыдущем примере */ /* После закрывающей круглой скобки условия не забываем ставить точку с запятой!!! Напомним, что опускать ее можно только, если инструкция является последней в блоке php-кода */ ?>
Пример №2. Цикл do/while
Как видно из примера, в цикле do/while сперва идет ключевое слово do, затем следует тело цикла и только в самом конце записывается ключевое слово while с условием цикла, содержащегося в круглых скобках после него. Как следствие, первая итерация цикла do/while гарантированно выполнится хотя бы раз, в то время как обычный цикл while может быть прерван сразу же после первой проверки условия, если его значение изначально окажется ложным (см. пример №3).
<?php //Присвоили переменной стартовое значение $a=11; while($a<=10){ //Код не выполнится вообще ни разу, т.к. изначально $a>10 echo $a=++$a; } do{ //Веведет 12 echo $a=++$a; //После первой же проверки условия цикл будет прерван }while($a<=10); ?>
Пример №3. Отличие цикла while от цикла do/while
После закрывающей круглой скобки условия цикла do/while нужно обязательно ставить точку с запятой. Опускать ее разрешается только в случае, когда инструкция является последней в блоке php-кода.
Быстрый переход к другим страницам
- Условный оператор switch в PHP
- Циклы while и do/while в PHP
- Цикл for в PHP
- Вернуться к оглавлению учебника