Вы здесь: Главная > Основы разработки сайта > Основы PHP > 17 урок - Цикл while

Основы PHP

17 урок - Цикл while

Циклы позволяют повторять определенное количество раз различные операторы. Данные операторы называются телом цикла. Одно выполнение цикла называется итерацией. Цикл while являются простейшим видом циклов в PHP.

 Цикл while работает по следующей схеме:

  1. Вычисляется значение логического выражения.
  2. Если значение истинно, выполняется тело цикла, в противном случае - переходим на следующий за циклом оператор.( Это и есть итерация)

Синтаксис цикла:

<?php
while (логическое_выражение)  {
     инструкция;
}
?>

Живой пример работы цикла:

<?php
$a = 0;
while ( $a<=5 ) {
     $a++; // Увеличиваем значение на 1
     echo $a.'</br>'; // 1 2 3 4 5 6 
}
?>

В данном примере как раз применяются “Операторы инкремента и декремента”, которые мы рассматривали на прошлом уроке.  Код выведет на экран все цифры начиная с 1 до 6. Откуда взялась единица, если $a = 0; ? И откуда взялась 6, если стоит условие $a<=5 ?

На самом деле все просто. Вывод переменной происходит в теле цикла.  А в теле цикла у нас стоит постфиксный инкремент. Следовательно, в теле цикла переменная $а=0; увеличилась на 1. Цикл выполняется до тех пор пока в условии цикла ИСТИНА (true). 

Бойтесь бесконечных циклов. Простой пример такого цикла представлен ниже. Максимум что у Вас будет, это повиснет браузер, так как старица будет вечно загружаться до тех пор, пока php не просчитает цикл. А он этого никогда не сделает, так как цикл бесконечный!

<?php
$a = 0;
while ( $a<5 ) {
     echo $a.'</br>';  // Повиснет браузер
}
?>

В данном пример условие цикла всегда true (Истина). Следовательно, число  итераций будет бесконечное. Напомню еще раз, цикл выполняется до тех пор, пока условие ИСТИНА.

У цикла while тоже есть альтернативный синтаксис:

<?php
$i = 0;
while ($i <= 5):
$i++;
    echo $i.'</br>'; // 1 2 3 4 5 6 
endwhile;
?>

Если Вы не понимаете работу операторов инкремента и декремента, то прочитайте еще раз предыдущий урок и поставляйте операторы инкремента и декремента в цикл. Практические примеры Вам помогут быстрее разобраться. В следующем уроке мы будем рассматривать цикл do-while.