belarusweb.net
© Петр Романовский Минск, 2016-2017.



belarusweb.net

Основы создания сайтов...
PHP+MySQL >>>
                          Учебник Задачник Справочник

4.4. Циклы while и do/while

Представителем простейшего вида циклов в PHP является цикл while, который служит для повторного выполнения кода, расположенного в его теле, до тех пор, пока условие цикла остается истинным, т.е. имеет значение true (см. пример 4.7).

<?php
$a=6; //Присвоили переменной стартовое значение 

while($a<=10){ 		
	echo $a=++$a; //Код выполняется пока $a<=10
}		
	/* Выведет в ходе цикла 7891011 */
?>

Пример 4.7. Цикл while

Как видно из примера, условие цикла записывается в круглых скобках после ключевого слова while, затем в фигурных скобках записывается блок инструкций для исполнения. Работает цикл while следующим образом: каждый раз перед выполнением новой итерации, т.е. очередного выполнения блока инструкций в теле цикла, происходит проверка его условия и, если результат будет иметь значение true, код в теле цикла выполняется; далее интерпретатор возвращается в начало цикла и снова проверяет его условие, повторяя все процедуры заново до тех пор, пока условие цикла не вернет значение false; в этом случае интерпретатор прерывает выполнение цикла и, пропустив блок инструкций в его теле, передает управление следующему за циклом оператору.

Цикл do/while очень похож на цикл while, но в нем истинность выражения проверяется не в начале итерации, а в конце (см. пример 4.8).

<?php
$a=6; //Присвоили переменной стартовое значение 

do{ 		
	echo $a=++$a; 	//Код выполняется пока $a<=10
}while($a<=10);	//Условие цикла проверяется в конце после тела 	

/* Выведет в ходе цикла 7891011, как и в случае
 цикла while в предыдущем примере */
 
	/* После закрывающей круглой скобки условия не забываем ставить 
	точку с запятой!!! Напомним, что опускать ее можно только, если 
	инструкция является последней в блоке php-кода */
?>

Пример 4.8. Цикл do/while

Как видно из примера, в цикле do/while сперва идет ключевое слово do, затем следует тело цикла и только в самом конце записывается ключевое слово while с условием цикла, содержащегося в круглых скобках после него. Как следствие, первая итерация цикла do/while гарантированно выполнится хотя бы раз, в то время как обычный цикл while может быть прерван сразу же после первой проверки условия, если его значение изначально окажется ложным (см. пример 4.9).

<?php
$a=11;		     //Присвоили переменной стартовое значение 

while($a<=10){ 		
	echo $a=++$a; //Код не выполнится вообще ни разу, т.к. изначально $a>10
}	

do{ 		
	echo $a=++$a; //Веведет 12
}while($a<=10);  //После первой же проверки условия цикл будет прерван
?>

Пример 4.9. Отличие цикла while от цикла do/while

После закрывающей круглой скобки условия цикла do/while нужно обязательно ставить точку с запятой. Опускать ее разрешается только в случае, когда инструкция является последней в блоке php-кода.

Контрольные вопросы и задания

  1. Опишите циклы while и do/while. В чем заключается их основное различие?

Словарь новых английских слов

if [if] – если.
else [els] – иначе, еще.
switch [swɪtʃ] – переключение.       
case [keɪs] – блок, контейнер.
break [breɪk] – прерывать.
while [wʌɪl] – до тех пор пока.
do [duː] – делать.
for [fɔː] – для.
each [iːtʃ] – каждый.
continue [kənˈtɪnjuː] – продолжать.
default [dɪˈfɔːlt] – по умолчанию.
key [kiː] – ключ.
as [æz] – как.
value [ˈvaljuː] – значение.
Комментарии (0)
Петр Романовский
1. Приветствуются комментарии, которые содержат дополнения к материалу текущей страницы, а также ваши ответы на вопросы других пользователей.
2. Если вам что-то непонятно - спрашивайте, не забывая написать, что именно и с какого места.
Показаны все комментарии
Чтобы оставить свой комментарий, авторизуйтесь, пожалуйста!    
     
belarusweb.net © Петр Романовский, Минск, 2016-2017.
Связаться с автором
Наверх