Давайте превратим автомобильную панель приборов из примера в цикл, по- стоянно проверяющий уровень топлива при езде на машине, в котором используется инструкция цикла while. ?php $fuel = 10; while ($fuel > 1) { // Продолжение поездки ... echo "топлива еще достаточно"; } ?> Вообще-то, вы можете предпочесть выводу текста горящий зеленый сигнал, но суть в том, что любая разновидность позитивной индикации об уровне топлива помещается в цикл while. Кстати, учтите, что если вы запустите этот пример на выполнение, то он будет постоянно выводить строку до тех пор, пока вы не остановите работу браузера.
Здесь, как и в случае с инструкциями if, для хранения инструкций внутри цикла while исполь- зуются фигурные скобки, если в этом цикле не задействована только одна инструкция.
В примере показан еще один вариант использования цикла while, в котором выводится таблица умножения на 12. ?php $count = 1; while (@count <= 12) { echo "Число $count, умноженное на 12б равно " . $count * 12 . "<br />; ++$count; } ?>
В этом примере переменной $count присваивается начальное значение 1, а затем запускается цикл while, в котором используется выражение сравнения $count <= 12. Этот цикл будет выполняться до тех пор, пока значение переменной не станет больше 12. Этот код выведет следующий текст: Число 1, умноженное на 12, равно 12 Число 2, уиноженное на 12, равно 24 Число 3, уиноженное на 12, равно 36 Внутри цикла осуществляется вывод строки, а также значения переменной $count, умноженного на 12. Для того чтобы упорядочить вывод, после всего этого использован тег <br />, вызывающий переход на новую строку. Затем перед закрывающей фигурной скобкой, предписывающей PHP вернуться к началу цикла, значение переменной $count увеличивается на единицу. Теперь значение переменной $count опять проверяется, чтобы узнать, не превышает ли оно число 12. Оно не превышает его, но теперь равно 2, и после одиннадцати последующих прохождений цикла оно станет равно 13. Когда это произойдет, код, находящийся внутри цикла while, будет пропущен и станет выполняться код, следующий за циклом, в данном случае это будет завершение программы. При отсутствии onepaтopa ++$count (вместо которого с таким же успехом может быть применен оператор $count++) этот цикл будет похож на первый, показанный в этой статье. Он никогда не закончится и будет снова и снова выводить один и тот же результат 1. 12. Но есть и более изящный способ написания этого цикла, который должен вам понравиться. Посмотрите на код примера. Укороченная версия ?php $count = 0 while (++$count <= 12) echo "Число $count. умноженое на 12. равно " . $count * 12 . "<br />; ?>
В этом примере оператор ++$count был удален из тела цикла whiIe и помещен непосредственно в выражение условия цикла. Теперь PHP вычисляет значение переменной $count в начале каждого прохода цикла (итерации) и, заметив, что перед именем переменной стоит оператор инкремента, сначала увеличивает значение переменной на 1 и только потом сравнивает его с числом 12. Следовательно, теперь переменной $count присваивается начальное значение 0, а не 1, поскольку это значение увеличивается сразу же, как только происходит вход в цикл. Если оставить начальное значение, равное 1, то будут выведены результаты для чисел между 2 и 12.
|