while
(PHP 4, PHP 5, PHP 7)
Циклы while являются простейшим видом циклов в PHP. Они ведут себя так же, как и их коллеги из языка C. Простейшей формой цикла while является следующее выражение:
while (expr) statement
Смысл выражения while очень прост. Оно
указывает PHP выполнять вложенные выражения повторно до тех пор, пока
выражение в самом while является
TRUE
. Значение выражения expr проверяется
каждый раз перед началом цикла, поэтому даже если значение выражения
изменится в процессе выполнения вложенных выражений в цикле, выполнение
не прекратится до конца итерации (каждый раз, когда PHP выполняет
выражения в цикле - это одна итерация). В том случае, если
выражение while равно
FALSE
с самого начала, вложенные
выражения ни разу не будут выполнены.
Также, как и с оператором if, вы можете группировать несколько выражений внутри одного цикла while, заключая эти выражения между фигурными скобками или используя альтернативный синтаксис:
while (expr): statement ... endwhile;
Следующие примеры идентичны, и оба выведут числа от 1 до 10:
<?php
/* пример 1 */
$i = 1;
while ($i <= 10) {
echo $i++; /* выводится будет значение переменной
$i перед её увеличением
(post-increment) */
}
/* пример 2 */
$i = 1;
while ($i <= 10):
echo $i;
$i++;
endwhile;
?>
Коментарии
The example below displays the numbers from 1 to 5:
<?php
$x = 1;
while($x <= 5) {
echo "The number is: $x <br>";
$x++;
}
?>
This example counts to 100 by tens:
<?php
$x = 0;
while($x <= 100) {
echo "The number is: $x <br>";
$x+=10;
}
?>
While loops don't require a code block (statement).
<?php
while( ++$i < 10 ); // look ma, no brackets!
echo $i; // 10
?>
assuming you want to have another way to archieve
<?php
for($i=10;$i>0;$i--){
echo $i.'<br>';
}
?>
then yo have this:
<?php
$v=10;
do{
echo $v.'<br>';
}while(--$v);
/*
while(--$v) : 10...1 , when $v==0 stops
*/
?>