Циклы while и do-while в PHP. Альтернативный синтаксис while

Цикл while и do-while
Альтернативный синтаксис while - endwhile



Цикл while

Альтернативный синтаксис

Цикл do while



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



Цикл 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 - горизонтальная табуляция
Эти последовательности нужны для форматирования кода, это удобно при работе с кодом, который можно скопировать, вставить куда-нибудь и т. д. На вывод в браузере это никак не отражается.


таблица:


while1




Пример выбора года:


<?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>';
?>



выбора года:


while2




Пример - таблица умножения:


<?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>'; // закрываем тэг таблицы после цикла
?>



таблица умножения:


while3





Альтернативный синтаксис



Пример:


<?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
?>






Наверх Наверх