ресурс для начинающих веб-разработчиков
комплексные веб-услуги по созданию сайтов

Справочный материал по основным языкам программирования и верстки сайтов.

Готовая методика создания простых и сложных динамичных сайтов, с использованием PHP и MySQL.

Использование веб-редактора Adobe Dreamweaver в разработке сайтов.

Использование графических редакторов Adobe Flash, Adobe Photoshop, Adobe Fireworks в подготовке веб-графики.

Разработка веб-сайтов под "ключ".

Разработка отдельных фрагментов сайтов, консультации по вопросам верстки веб-страниц и веб-программирования.

Повторение действий с помощью итераций. Циклы while

Повторение действий

Одна из задач, с которой компьютеры всегад справлялись успешно — это автоматизация повторяющихся действий. Если нужно многократно выполнить одну и ту же последовательность действий, мы можем воспользоваться циклом, чтобы повторить определенные фрагменты программы.

Создадим, например, таблицу, отображающую стоимость доставки, которая добавляется к стоимости заказа клиента. В условиях, когда для доставки товара используется курьер, стоимость доставки зависит от расстояния и может быть вычислена с помощью простой формулы.

Создадим таблицу отображающую стоимость доставки товара.

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Стоимость доставки товара в зависимости от расстояния</title>
</head>

<body class="text_blok">
<table width="20%" border="0" cellpadding="3" cellspacing="0">
<tr>
<td bgcolor="#000066" align="center" style="color:#FFF">Расстояние</td>
<td bgcolor="#000066" align="center" style="color:#FFF">Стоимость</td>
</tr>
<tr>
<td align="right">50</td>
<td align="right">500</td>
</tr>
<tr>
<td align="right">100</td>
<td align="right">1000</td>
</tr>
<tr>
<td align="right">150</td>
<td align="right">1500</td>
</tr>
<tr>
<td align="right">200</td>
<td align="right">2000</td>
</tr>
<tr>
<td align="right">250</td>
<td align="right">2500</td>
</tr>
</table>
</body>
</html>

В окне веб-браузера это будет выглядеть ТАК.

Вместо того, чтобы поручать ввод HTML-кода человеку, лучше и удобнее поручить это дело компьютеру.

Операторы цикла указывают РНР о необходимости многократного выполнения того или иного оператора или блока операторов.

Циклы while

Простейшим видом цикла в РНР является цикл while. Подобно оператору if, в основе этого оператора лежит проверка условия. Различие между циклом while и оператором if состоит в том, что если условие принимает значение true, оператор if выполняет следующий блок только один раз. Цикл while выполняет блок операторов многократно, пока условие продолжает быть равным true.

В общем случае цикл while используется, когда неизвестно, для скольких итераций будет выполняться условие. Если же нужно выполнить фиксированное число итераций, стоит подумать об использовании цикла for.

Базовая структура цикла while имеет следующий вид:

while (условие) выражение;

Показанный ниже цикл while выводит на экран числа от 1 до 5.

$num = 1;

while ($num <= 5)

{

echo $num. "<br>";

$num++;

}

Условие проверяется в начале каждой итерации. Если оно принимает значение false, блок операторов выполняться не будет и цикл завершается. После этого выполняется оператор, следующий за циклом.

Цикл while можно использовать для выполнения чего-то более полезного, например, для отображения повторяющейся таблицы стоимости доставки.

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Стоимость доставки товара в зависимости от расстояния</title>
</head>

<body>
<table width="20%" border="0" cellpadding="3" cellspacing="0">
<tr>
<td bgcolor="#000066" align="center" style="color:#FFF">Расстояние</td>
<td bgcolor="#000066" align="center" style="color:#FFF">Стоимость</td>
</tr>
<?php
$distance = 50;
while ($distance <= 250)
{
echo "<tr>\n <td align = 'right'>$distance</td>\n";
echo "<td align = 'right'>";
echo $distance*10;
echo "</td>\n</tr>\n";
$distance += 50;
}
?>
</table>
</body>
</html>

В окне веб-браузера это будет выглядеть ТАК.

Чтобы сгенерированный сценарием HTML-код стал удобочитемым, следует включить в него символы новой строки и пробелы. Браузеры на это не реагируют, но для людей, читающих распечатку, все это имеет значение.

Встречающаяся последовательность символов \n, если она заключена в двойные кавычки и находится внутри строки представляет собой символ новой строки.