Оглавление

20.1. Цикл for

Цикл for используется для выполнения выражений определенное число раз.
Имеет следующий формат:
for (<Начальное значение>; <Условие>; <Приращение>) {
     <Выражения>
}

 

Здесь присутствуют следующие конструкции:
□ <Начальное значение> присваивает переменной-счетчику начальное значение;
□ <Условие> содержит логическое выражение. Пока логическое выражение возвращает значение true, выполняются выражения внутри цикла;
□ <Приращение>  задает  изменение  переменной-счетчика  при  каждой  итерации.

 

Последовательность работы цикла for:
1.  Переменной-счетчику присваивается начальное значение.
2.  Проверяется условие; если оно истинно, выполняются выражения внутри цикла, а в противном случае выполнение цикла завершается.

3.  Переменная-счетчик изменяется на величину, указанную в <Приращение>.
4.  Переход к п. 2.

 

Цикл выполняется до тех пор, пока <Условие> не вернет false. Если это не случится, цикл будет бесконечным.
<Приращение> может  не  только  увеличивать  значение  переменной-счетчика, но и уменьшать. Выведем все числа от 100 до 1:

for ($i=100; $i>0; $i--) echo $i . "<br>\n";


<Приращение>  может  изменять  значение  переменной-счетчика  не  только  на единицу. Выведем все четные числа от 1 до 100:

for ($i=2; $i<101; $i+=2) echo $i . "<br>\n";


Следует заметить, что выражение, указанное в параметре <Условие>, вычисляется на каждой итерации. Рассмотрим вывод элементов массива:

$arr = array(1, 2, 3);
for ($i=0; $i<count($arr); $i++) {
   if ($i == 0) {
      $arr[] = 4; // Добавляем новые элементы
      $arr[] = 5; // для доказательства
   }
   echo $arr[$i] . " ";
} // Выведет: 1 2 3 4 5 


В  этом  примере мы  указываем функцию  count()  в  параметре  <Условие>,  а внутри  цикла (чтобы  доказать  вычисление  на  каждой  итерации)  добавляем новые элементы в массив. В итоге получили все элементы массива, включая новые элементы. Чтобы этого избежать следует вычисление размера массива указать в первом параметре:

$arr = array(1, 2, 3);
for ($i=0, $c=count($arr); $i<$c; $i++) {
   if ($i == 0) {
      $arr[] = 4; // Добавляем новые элементы
      $arr[] = 5; // для доказательства
   }
   echo $arr[$i] . " ";
} // Выведет: 1 2 3 
Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити