PHP
Цикл while и do-while
Альтернативный синтаксис while - endwhile
Цикл это набор неких повторяющихся, однотипных действий. Любой цикл должен иметь начало и конец, иначе мы получим бесконечный цикл или зацикленную программу, которая не выполнится.
Цикл while
(php.net)
Циклы while являются простейшим видом циклов в PHP. Простейшей формой цикла while является следующее выражение:
while (expr) {
тело цикла;
}
- где expr - условие, которое должно, как и в операторе if, возвращать булевый тип.
До тех пор, пока условие выполняется (TRUE), цикл будет выполняться. Как только
условие вернет ложь (FALSE) цикл прекратит свою работу.
тело цикла - блок кода, который выполняется в том случае, если выполняется условие.
Пример:
<?php
$i = 1; // устанавливаем счетчик (начальное значение)
while($i <= 10){
echo $i++; // увеличиваем переменную $i на единицу (увеличиваем счетчик)
echo '<br>';
}
// выведет цифры от 1 до 10
?>
Если условие изначально не выполняется, то блок кода не выполнится ни разу.
Циклы, как и условия, могут вкладываться друг в друга.
Пример таблица:
В таблице будет по 10 строк и по 3 ячейки.
<?php
// СЧЕТЧИК СТРОК
$i = 1;
// открываем тэг таблицы (\n - символ перевода строки)
echo '<table border = "1">' . "\n";
while($i <= 10){
echo "\t <tr> \n"; // выводим строки
// ВЛОЖЕННЫЙ ЦИКЛ
$n = 1; // инициализируем счетчик ячеек
while($n <= 3){
// выводим ячейки и содержимое (номер строки и номер ячейки)
echo "\t\t<td>Row $i | Col - $n </td>\n";
$n++; // увеличиваем счетчик ячеек на единицу
}
$i++; // увеличиваем счетчик строк на единицу
}
echo '</table>'; // закрываем тэг таблицы после цикла
?>
- где \n , \t - управляющие последовательности, они работают только в двойных кавычках.
\n - новая строка
\t - горизонтальная табуляция
Эти последовательности нужны для форматирования кода, это удобно при работе с кодом,
который можно скопировать, вставить куда-нибудь и т. д. На вывод в браузере это никак
не отражается.
таблица:
Пример выбора года:
<?php
// объявляем счетчик - он у нас начинается с 1900года
$year = 1900;
echo '<select>' . "\n"; // выводим тэг select
while($year <= 2020){
// выводим тэг option у которого атрибут value='$year'.
// Визуально год выведем внутри option
echo "\t <option value='$year'>$year </option>\n";
$year++; // увеличиваем счетчик на единицу
}
echo '</select>';
echo '<br>';
?>
выбора года:
Пример - таблица умножения:
<?php
// СЧЕТЧИК СТРОК
$i = 1;
// открываем тэг таблицы
echo '<table border = "1">';
while($i <= 9){
echo "<tr>"; // выводим строки
// ВЛОЖЕННЫЙ ЦИКЛ
$n = 1; // инициализируем счетчик ячеек
while($n <= 9){
$res = $i * $n;
// выводим ячейки и содержимое (номер строки и номер ячейки)
echo"<td> $res </td>";
$n++; // увеличиваем счетчик ячеек на единицу
}
$i++; // увеличиваем счетчик строк на единицу
}
echo '</table>'; // закрываем тэг таблицы после цикла
?>
таблица умножения:
Альтернативный синтаксис
Пример:
<?php
$i = 1;
while ($i <= 10):
echo '<br>';
echo $i;
$i++;
endwhile ;
// выведет цифры от 1 до 10
?>
Цикл do while
(php.net)
Когда мы используем цикл do while, сначала выполняется одна иттерация цикла, а потом проверяется условие. Не зависимо от того, выполняется или не выполняется условие, цикл do while выполнится хотя бы один раз.
Пример:
<?php
$i = 11;
do{
// увеличиваем переменную $i на единицу (увеличиваем счетчик)
echo $i++ . '<br>';
} while($i <= 10 ); // условие не выполяется
echo '<br>';
// выведет цифру 11
?>
Наверх Наверх