Операторы циклов. Многократное выполнение блока кода
Операторы циклов мы уже использовали при работе с массивами (см. разд.
5.14.6). Опишем теперь их подробнее.
Предположим, нужно вывести все числа от 1 до 100 по одному на строке.
Обычным способом пришлось бы писать 100 строк кода:
echo "1<br>\n";
echo "2<br>\n";
…
echo "100<br>\n";
С помощью циклов то же действие можно выполнить одной строкой кода:
for ($i=1; $i<101; $i++) echo $i . "<br>\n";
Иными словами, циклы позволяют выполнить одни и те же выражения мно-
гократно.
5.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
Источник: Прохоренок Н. А. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера. — 3-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2010. — 912 с.: ил. + Видеокурс (на CD-ROM) — (Профессиональное программирование)
Похожие посты:
- Создание текстов для пользователей (0)
- Что такое селекторы и как их правильно использовать (0)
- Изменение высоты строки (межстрочного интервала) в тексте (0)
- Изменение стиля маркеров списка или удаление маркеров (0)
- Справочник по обобщенным представлениям Django (0)
- Встроенные шаблонные теги и фильтры Django (0)
- Справочник по встроенным фильтрам add Django (0)