Конструкция PHP while позволяет создать цикл выполнения определенного куска кода до тех пор, пока выполняется заданное условие.
Общий вид конструкции следующий:
<?php
while(условие){
//здесь какой-то код
}
?>
Пример:
<?php
$k = 20;
while($k > 1){
echo $k;
$k--;
}
?>
В данном примере первоначально мы присвоили переменной k значение 20. Затем создали конструкцию while, в которой указали условие – выполнять код внутри конструкции до тех пор, пока значение $k больше 1. Внутри самой конструкции while мы выводим значение $k и после этого уменьшаем значение переменной на 1.
Будьте внимательны к условиям, которые вы указываете для while, т.к. в случае ошибок можно легко получить бесконечный цикл. Например, такой результат мы получим, если в примере выше вместо уменьшения $k на единицу, мы укажем $k++ (операция инкремента).
Существует и другая вариация конструкции while:
do{
//код
}while(условие);
То есть сначала мы выполняем определенный код, а уже затем происходит проверка условия. Если условие верное – происходит выход из цикла. Главное отличие данной конструкции в том, что здесь наш код выполнится как минимум один раз, независимо от того, верно условие или нет.
Рассмотрим пример:
<?php
$k = 1;
do{
echo $k;
$k++;
}while($k<1);
?>
Будет выведено: 1, т.к. проверка условия выполняется позже.