Одна из задач, с которой компьютеры всегад справлялись успешно — это автоматизация повторяющихся действий. Если нужно многократно выполнить одну и ту же последовательность действий, мы можем воспользоваться циклом, чтобы повторить определенные фрагменты программы.
Создадим, например, таблицу, отображающую стоимость доставки, которая добавляется к стоимости заказа клиента. В условиях, когда для доставки товара используется курьер, стоимость доставки зависит от расстояния и может быть вычислена с помощью простой формулы.
Создадим таблицу отображающую стоимость доставки товара.
<!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
, если она заключена в двойные кавычки и находится внутри строки представляет собой символ новой строки.
Комментарии(0)
Для добавления комментариев надо войти в систему и авторизоватьсяКомментирование статей доступно только для зарегистрированных пользователей:Зарегистрироваться