Цикл 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

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

Случайные статьи

  • LM4906 — миниатюрный УМЗЧ 1 Вт

    LM4906 — миниатюрный УМЗЧ 1 Вт

    LM4906 — усилитель мощности звуковой частоты фирмы National Semiconductor. Микросхема LM4906 предназначена для применения в портативных устройствах. Выходная мощность усилителя 1 Вт при напряжении питания 5В и 390 мВт при напряжении питания 3В. Микросхема характеризуется низким напряжением питания, которое может быть от 2,6В до 5,5В и низким током потребления (в режиме энергосбережения) …Подробнее...
  • Триггеры, счетчики, регистры, мультиплексоры, шифраторы, дешифраторы

    Триггер — это уст-во с двумя устойчивыми состояниями равновесия, предназначенные для записи и хранения информации. Триггер способен хранить 1 бит данных. Условное обозначение триггера имеет вид прямоугольника, внутри которого пишется буква Т. Слева к изображению прямоугольника подводятся входные сигналы. Обозначения входов сигнала пишутся на дополнительном поле в левой части прямоугольника. …Подробнее...
  • Регулятор напряжения на LM350K

    На рисунке показана простая схема регулятора напряжения на LM350K. Выходное напряжение регулируемое от 1,25В до 13,5В при выходном токе на нагрузке до 3А. Так как схема имеет минимальное напряжение около 1,25В, то добавив два 3А диода мы получим регулируемое выходное напряжение от нуля вольт, так как падение напряжение на двух …Подробнее...
  • 8-и разрядный частотомер на 50 МГц (PIC16F628A)

    8-и разрядный частотомер на 50 МГц (PIC16F628A)

    Частотомер основан на микроконтроллере PIC16F628A и имеет 8-ми разрядную индикацию. Максимальная частота измерения 50 МГц (вход TTL). Время счета 2 секунды который повторяется каждые 5 секунд. Частотомер имеет внутреннюю частоту 4 МГц, а кварцевый резонатор на 32768 Гц необходим для точного подсчета интервала времени. В частотомере используются восемь семисегментных индикаторов с …Подробнее...
  • LM3915 — 10-и разрядный индикатор уровня

    LM3915 — 10-и разрядный индикатор уровня

    На рисунке показана схема простого десятиразрядного индикатора уровней. Основа схемы ИМС LM3915, напряжение питания от 5 до 20В, при напряжении питания 5В стабилизатор 7805 из схемы можно исключить. Устройство подключается непосредственно к линейному выходу.Подробнее...