Цикл while

Цикл while позволяет повторять выполнение некоторых действий (инструкций) определенное количество раз.

Каждый цикл состоит из двух основных частей:

  • логическое выражение
  • инструкция

Логическое выражение определяет когда должно быть остановлено исполнение цикла. Инструкцией является фрагмент программного кода, выполняющий необходимые действия. Инструкция может быть одна или несколько и будет исполняться до тех пор, пока пока логическое выражение цикла возвращает значение TRUE и завершается когда логическое выражение не вернет значение FALSE (прекращение цикла).

Синтаксис цикла с предусловием:

while (логическое_выражение) 
инструкция;

Примеры использования:

$i = 1;
while ($i <= 10) {
echo $i;
$i++;
}

Цикл будет исполняться 10 раз, так как кол-во циклов задается переменной $i, значение которой при каждом цикле увеличивается на единицу ($i++) при условии завершения цикла $i <= 10.

12345678910

Вывод нечетных чисел:

$i = 1;
while ($i <= 10) {
echo $i;
$i+=2;
}

13579

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

Пример:

$i = 5;
while($i < 1000){
echo $i;
$i++;
if($i == 10) {
break;
}
}

56789

Оператор break выбрасывает нас из цикла при возникновении  условия $n == 10, при этом счет начинается с 5 ($i = 5).

Оператор continue (продолжить), перебрасывает нас обратно к условию. Этот пример, выведет все числа кроме числа 10.

$i = 0;
while($i < 30){
$i++;
if($i == 10) continue;
echo $i;
}

1234567891112131415161718192021222324252627282930

Так же возможно применение цикла в цикле, например для построения таблицы умножения:

echo "<table border='1'>";
$i = 2;
$x = 1;
$n = 1;
while ($n <= 8) {
$x++;
$n++;
echo "<td>";
while ($i <= 9) {
echo $x." * ".$i." = ".$i * $x."<br>";
$i++;
}
$i=2;
echo "</td>";
}
echo "</table>";

37678532687342687

Цикл do while аналогичен циклу while, с тем отличием, что логическое выражения проверяется в конце, а не в начале.

Таким образом, тело цикла выполняется хотя бы один раз. Синтаксис цикла с постусловием следующий:

do
{
тело_цикла;
}
while (логическое_выражение);

Данная разновидность цикла полезна, когда тело цикла должно быть исполнено хотя бы один раз, независимо от значения логического выражения.

Пример:

$i = 1;
do {
echo $i;
$i++;
} 
while ($i <= 10);

12345678910

Добавить комментарий

Войти с помощью: