Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше
Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике
13.14. Конструкция do ... while в PHP
DO ... while — это тоже цикл, отличается от while тем, что значение логического выражения проверяется не до, а после окончания работы операторов, включенных в сам цикл. Таким образом, do ... while гарантированно будет выполнен хотя бы один раз, что в случае с while совсем не обязательно. Если условие ложно, управление сразу будет передано дальше. Например:
<?
$i = 5;
$full = 0;
do {
$full += $i;
}
while($i-- > 0);
print "Итого: $full ";
?>
Приведем структурограммуданного оператора (рис. 13.4).
Рассмотрим два простых цикла и принцип их работы:
<?
$num = 0;
print "счетчик цикла while: ";
while($num++ < 10)
print "$num";
$num = 0;
print "счетчик цикла do: ";
do
print "$num";
while ($num++ < 10) ;
?>
В результате действия программы на экран будет выведено:
счетчик цикла while: 12345678910
счетчик цикла do: 012345678910
Рис. 13.4. Конструкция do ... while
Отсюда можно сделать вывод, что цикл do выполняется 11 раз, а цикл while — 10. В обоих случаях конечное значение счетчика 11.
Опытные программисты, использующие язык С, знакомы с иным использованием do ... while, позволяющим прекратить исполнение блока операторов в середине путем внедрения его в цикл do ... while(0) и использования оператора break. Следующий код демонстрирует такую возможность:
do {
if ($i < 5) {
print "i меньше требуемого значения";
break;
}
$i* = $factor;
if ($i < $minimum_limit) {
break;
}
print "i значение выражения удовлетворяет потребности";
}
while(0);
ВНИМАНИЕ
Использование конструкции do...while(O) приводит к выполнению цикла только один раз. В процессе выполнения оператора итерации будет проверено значение логического выражения, а оно равно false (0), и выполнение цикла завершится.