Операторы циклов. Многократное выполнение блока кода

Опубликовал: Вторник, Апрель 3, 2012 в категории HTML | Пока нет комментариев

Операторы циклов мы уже использовали при работе с массивами (см. разд.

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) — (Профессиональное программирование)

Add to Social Bookmarks
  • del.ici.ous
  • Digg
  • Furl
  • Google
  • Simpy
  • Spurl
  • Y! MyWeb
  • BobrDobr
  • Mr. Wong
  • Yandex.Bookmarks
  • Text 2.0
  • News2
  • AddScoop
  • RuSpace
  • RUmarkz
  • Memori
  • Google Bookmarks
  • Pisali
  • SMI 2
  • Moe Mesto
  • 100 Zakladok
  • Vaau!
  • Technorati
  • RuCity
  • LinkStore
  • NewsLand
  • Lopas
  • Закладки - I.UA
  • Connotea
  • Bibsonomy
  • Trucking Bookmarks
  • Communizm
  • UCA

Похожие посты:

Комментировать

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>