На этом шаге мы рассмотрим особенности использования цикла for.
Эта конструкция цикла используется тогда, когда заранее известно количество повторений тела цикла.
Синтаксис цикла for следующий:
Рис.1. Общий вид цикла for
Вся конструкция начинается со служебного слова for. Далее в круглых скобках следуют через точку с запятой три выражения, после чего записывается выполняемое действие. Действие еще называют телом цикла.
Чтобы понять смысл этих выражений, рассмотрим решение примера по выводу целых чисел от 1 до 100.
<?php for ($i = 1; $i <= 100; $i++) { echo $i; echo "<br>"; } ?>
Выражение1 задает начальные значения и определяется один раз перед входом в цикл: в данном случае переменной $i присваивается значение 1. Выражение2 определяет условие нахождения в цикле. Другими словами, до тех пор, пока оно равно true (является истинным), программа будет продолжать выполнять тело цикла, т.е. в нашем примере, вывод значений переменной. И, наконец, выражение3 представляет собой действие, которое нужно выполнить по завершению очередного выполнения тела цикла. Здесь это увеличение переменной $i на единицу.
Рассмотрим ход выполнения этой программы. Сначала значением переменной $i становится равным 1. Затем производится операция сравнения, то есть вычисляется выражение2. Если результат этого выражения истинен, то выполняется вывод сообщения (то есть выполняется тело цикла) и затем выполняется выражение3 (переменная $i увеличивается на 1), иначе осуществляется выход из цикла. Следующая итерация начинается уже с вычисления выражения2.
Надо сказать, что разработчики РНР сделали цикл for настолько универсальным, что в нем можно уместить целые программы.
Особенность выражений оператора for в том, что они могут состоять из нескольких подвыражений. Например:
for ($i=1, $j=9; $i<=9, $j>=1; $i++, $j--);
Заметим, что подвыражения разделяются между собой запятыми. Пояснений, наверное, требует только выражение2, так как в других случаях здесь просто перечисляются несколько действий. В выражении2, если хотя бы одно из подвыражений становится ложным, то произойдет выход из цикла. То есть в выражении2 подвыражения связаны между собой логической операцией "и".
Пожалуй, единственное, о чем мы еще не говорили, так это о теле цикла. В данном случае оно, как и у оператора if, может состоять из одного или нескольких операторов. В первом случае тело цикла можно не заключать в фигурные скобки (однако, их использование все же желательно), а во втором они необходимы.
На следующем шаге мы рассмотрим цикл while.