Цикл while

Опубликовал: Понедельник, Март 26, 2012 в категории HTML | Пока нет комментариев

Выполнение выражений в цикле while продолжается до тех пор, пока логи-

ческое выражение истинно. Имеет следующий формат:

<Начальное значение>;

while (<Условие>) {

<Выражения>;

<Приращение>;

}

Последовательность работы цикла while:

1. Переменной-счетчику присваивается начальное значение.

2. Проверяется условие; если оно истинно, выполняются выражения внутри цикла, иначе выполнение цикла завершается.

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

4. Переход к п. 2.

Выведем все числа от 1 до 100, используя цикл while:

$i = 1;

while ($i<101) {

echo $i . "<br>\n";

$i++;

}

В НИМ АНИЕ !

Если <Приращение> не указано, то цикл будет бесконечным.

В качестве <Приращение> не обязательно использовать арифметическую опе- рацию. Например, при работе с базами данных в качестве <Приращение> бу- дет перемещение к следующей строке, а условием выхода из цикла — по- следняя строка в базе данных. В этом случае <Начальное значение> — получение первой строки базы данных.

5.20.3. Цикл do…while

Выполнение выражений в цикле do…while продолжается до тех пор, пока ло-

гическое выражение истинно. Но в отличие от цикла while условие проверя-

ется не в начале цикла, а в конце. По этой причине выражения внутри цикла

do…while выполнятся минимум один раз.

Цикл имеет следующий формат:

<Начальное значение>;

do {

<Выражения>;

<Приращение>;

} while (<Условие>);

Последовательность работы цикла do…while.

1. Переменной-счетчику присваивается начальное значение.

2. Выполняются выражения внутри цикла.

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

4. Проверяется условие; если оно истинно, происходит переход к п. 2, а если нет — выполнение цикла завершается.

Выведем все числа от 1 до 100, используя цикл do…while:

$i = 1;

do {

echo $i . "<br>\n";

$i++;

} while ($i<101);

В НИМ АНИЕ !

Если <Приращение> не указано, то цикл будет бесконечным.

5.20.4. Цикл foreach

Цикл foreach используется для перебора элементов массива:

$Mass = array(‘Один’, ‘Два’, ‘Три’, ‘Четыре’);

foreach ($Mass as $key) {

echo $key . ‘<br>’;

}

Перебрать элементы ассоциативного массива можно следующим образом:

$Mass['Один'] = 1;

$Mass['Два'] = 2;

$Mass['Три'] = 3;

$Mass['Четыре'] = 4;

foreach ($Mass as $key => $value) {

echo $key . ‘ => ‘ . $value . ‘<br>’;

}

Если параметр в цикле foreach не является массивом, интерпретатор выведет сообщение об ошибке:

$Mass = ”;

foreach ($Mass as $key => $value) {

echo $key . ‘ => ‘ . $value . ‘<br>’;

}

// Ошибка: Warning: Invalid argument supplied for foreach()

По этой причине перед использованием цикла foreach необходимо прове-

рить тип переменной, например, с помощью функции is_array():

if (isset($Mass) && is_array($Mass)) {

// Проверка существования и типа переменной

foreach ($Mass as $key => $value) {

echo $key . ‘ => ‘ . $value . ‘<br>’;

}

}

5.20.5. Оператор continue.

Переход на следующую итерацию цикла

Оператор continue позволяет перейти к следующей итерации цикла до за-

вершения выполнения всех выражений внутри цикла.

Выведем все числа от 1 до 100, кроме чисел от 5 до 10 включительно:

for ($i=1; $i<101; $i++) {

if ($i>4 && $i<11) continue;

echo $i . "<br>\n";

}

5.20.6. Оператор break.

Прерывание цикла

Оператор break позволяет прервать выполнение цикла досрочно. Для примера выведем все числа от 1 до 100 еще одним способом: for ($i=1; ; $i++) {

if ($i>100) break;

echo $i . "<br>\n";

}

Здесь мы оставили условие цикла пустым, и это значит, что цикл будет про- должаться бесконечно. Однако использование оператора break прерывает его выполнение, как только 100 строк уже напечатано.

Оператор break прерывает выполнение цикла, а не программы, то есть далее будет выполнено выражение, следующее сразу за циклом.

Источник: Прохоренок Н. А. 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>