базовый курс

ГРУППА КУРСА

Циклы

В программе иногда нужно повторить какие-то действия несколько раз. Причём, этих действий может быть достаточно много. Конечно можно в коде программы написать одни и те же строки несколько раз. Но это было бы крайне неудобно, и некоторые программы были бы просто огромные. Для решения этой задачи существуют операторы цикла. Их мы рассмотрим в этой теме.

Оператор for

Чаще всего циклы создаются с помощью оператора for. Он выглядит так:

+
1
2
<?php
header('Content-type: text/html; charset=utf-8');
3
4
5
6
for ($i=1; $i<5; $i++)
  {
  echo $i.' ';
  }

Оператор for содержит в скобках три выражения, разделённых точкой с запятой. Эти выражения имеют такой смысл:

Первое выражение. В нём задаётся начальное значение определённой переменной. Обычно её называют $i. Первое выражение выполняется один раз в начале цикла и больше не используется.

Второе выражение. Оно содержит условие, при котором цикл выполняется. Когда условие перестаёт выполняться, цикл прекращается.

Третье выражение. В нём производится изменение значения переменной $i.

Далее в фигурных скобках следуют строки, которые выполняются в цикле.

Порядок работы оператора for такой:

  • В первом выражении переменная $i получает начальное значение.
  • Затем проверяется условие во втором выражении. Если условие верно, то выполняются строки в фигурных скобках.
  • После этого в третьем выражении переменная $i меняет значение и вновь проверяется условие. Если оно опять верно, то ещё раз выполняются строки в фигурных скобках, и снова меняется значение $i. Так происхожит до тех пор, пока условие не перестанет выполняться.
  • Если условие неверно, то строки цикла не выполняются, цикл прекращается и начинают работать строки, следующие за закрывающей фигурной скобкой.

В предложенном примере переменная $i имеет начальное значение 1. После выполнения строк цикла оно каждый раз увеличивается на единицу. Цикл выполняется до тех пор, пока $i меньше 5. В фигурных скобках содержится только одна строка. Она выводит на экран текущее значение переменной $i.

Создайте страницу и добавьте на неё опрератор for так как он написан в примере. Запустите страницу и посмотрите как оператор работает. Затем попробуйте что нибудь изменить в операторе. Измените начальное значение или условие цикла, добавьте другие строки в цикл.

Строки, которые находятся в фигурных скобках, называются тело цикла. Одно выполнение этих строк называется итерация. Если строки выполнились 5 раз, то это 5 итераций.

В нашем примере переменная $i получает начальное значение 1 и увеличивается на единицу. Это самый распространённый вариант. Но ей можно задавать любое начальное значение и изменять как угодно. Главное правило остаётся неизменным - пока условие цикла соблюдается, цикл выполняется.

В циклах могут использоваться операторы continue и break. continue останавливает текущую итерацию, и происходит очередная проверка условия и очередная итерация. А break прекращает цикл и начинают работать строки, следующие за циклом.

Оператор while

Иногда мы не знаем, сколько понадобится итераций. Это может зависеть от каких-то факторов, которые трудно расчитать заранее. Такие циклы обычно создаются с помощь оператора while. В скобках у этого оператора пишется условие цикла, а затем в фигурных скобках тело цикла. Пример:

7
8
9
10
11
12
$n = 1;
while ($n <= 500)
  {
  echo '<br>'.$n;
  $n *= 2;
  }

Конструкция do while

Конструкция do while работает почти так же. Но есть одно отличие: сначала выполняется тело цикла, и только потом проверяется условие цикла. Поэтому, хотя бы одна итерация обязательно выполнится. Пример:

14
15
16
17
18
do
  {
  echo '<br>Строка выполнится хотя бы один раз';
  }
while ($f > 20)

В этом примере цикл выполнится один раз, хотя условие цикла сразу не соблюдается.