PHP :: Циклы while и do/while
http://belarusweb.net
Основы создания сайтов

PHP :: Циклы while и do/while

Цикл while в PHP

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

PHP Результат BwCodes
<?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 Результат BwCodes
<?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 Результат BwCodes
<?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-кода.

Быстрый переход к другим страницам