Операторы цикла/ While

Оператор while называется оператором цикла с предусловием. При входе в цикл вычисляется выражение условие, и, если его значение отлично от нуля, выполняется тело цикла. Затем вычисления выражения условия и операторов тела цикла выполняется до тех пор, пока значение выражения условия не станет равным нулю. Оператором while удобно пользоваться для просмотра всевозможных последовательностей, если в конце них находится заранее известный символ. (Это очень удобно в C++, к примеру для определения длины строки, поскольку в С++, по определению, строка есть последовательность символов типа char, заканчивающаяся нулевым символом).

Пример простейшего цикла while:
<?
$var = 5;
$i = 0;
while(++$i <= $var)
{
echo($i); echo('<br>');
}
?>

Этот код выдает в окне браузера цифры от одного до пяти:
1
2
3
4
5

Для выхода из цикла применяется оператор break. При обнаружении этого оператора текущая итерация цикла прекращается, и последующие итерации не происходят. При выполнении следующего примере, несмотря на то, что переменная $var = 7, в окне браузера появятся цифры от 1 до 5.

<?
$var = 7;
$i = 0;
while(++$i <= $var)
{
echo($i);
echo('<br>');
if($i==3)break;
}
?>

Иногда бывает нужно прервать только текущую итерацию, и перейти сразу к следующей. Для этого применяется оператор continue:

<?
$var = 7;
$i = 0;
while(++$i <= $var)
{
if($i==5)
{
continue;
}
echo($i);
echo('<br>');
}
?>

В этом примере выводятся цифры от 1 до 7, кроме цифры 5:

1
2
3
4
6
7

Заметим, что если Вы условный оператор поставите после операторов echo, код будет ошибочным, и выведутся все цифры от 1 до 20, поскольку проверка условия выхода из цикла на данной итерации, будет происходить уже после выполнения этой итерации.

Бесконечный цикл реализуется при помощи оператора while следующим образом:

while(1)
{
...
}
Это тоже самое, что и запись while(true).

<<< - Предыдущая | Cледующая ->>>