Урок 8. Циклічні конструкції: конструкція while

При створенні сайтів доводиться вирішувати завдання різної складності. Часто одну і ту ж дію потрібно повторювати декілька раз. Для цього в РНР використовують циклічні конструкції. РНР програма зазвичай виконується в порядку читання коду зліва на право і зверху вниз. У минулих уроках можна було побачити, як цей порядок змінюється при використанні умовних конструкцій. Але навіть у цьому випадку програма виконується у напрямку до кінця скрипта.

Цикли змушують інтерпретатор виконувати багаторазові ітерації, тобто блок команд виконується кілька разів. У мові програмування php існує кілька способів запису циклічних конструкцій:

1. while
2. for
3. do… while
4. foreach

Циклічну конструкцію while використовують для багаторазового виконання блоку команд. Як правило, застосовують у випадках, коли кількість повторень невідомо заздалегідь. Ітерація буде виконуватися до тих пір, поки умова циклу дорівнює true.

Синтаксис циклу while :

while (певний вираз){
//блок команд
}

Приклад цикла while:

<?php
//Присвоюємо змінній початкове значення
$begin=0;
//Встановлюємо кінцеве значення
$end=9;
//Починаєм цикл з умовою
while ($begin<=$end){
//Визначаємо номер ітерації
$iteration = $ begin + 1;
echo “$iteration –а ітерація<br />”;
//Зверніть увагу!!! Тут ми збільшуємо значення $begin!
$begin++;
}
?>

Даний скрипт виводить номера повторень циклу. Відлік починається зі значення $begin, яке встановлюється на самому початку. Потім змінна $end визначає номер останньої ітерації, на якій цикл зупиняється.

У більшості мов програмування, в тому числі і в РНР, відлік починається не зі звичної для нас одиниці, а з нуля. Таким чином, якщо ми рахуємо від 0 до 9, вийде рівно 10 ітерацій циклу. Зверніть увагу на цю особливість. Ви повинні звикнути до таких нюансів програмування, щоб уникнути помилок при написанні додатків на РНР.

У прикладі вище цикл виконується до тих пір, поки змінна $begin дорівнює або менша $end. Між фігурними дужками циклу (цю область ще називають тілом циклу) присутній оператор інкремента $begin++. Завдяки йому значення $begin при кожному повторенні циклу збільшується на 1. Номер ітерації для відображення на екрані формується у виразі $iteration = $begin + 1.Якщо програмісту звично те, що відлік починається з 0, то простий відвідувач веб-сайту може цього не розуміти. Ми присвоюємо $iteration суму $begin та одиниці для того, щоб привести номера ітерації до звичного людського вигляду. У результаті ми побачимо на екрані наступне:

1 –а ітерація

2 –а ітерація

3 –а ітерація

4 –а ітерація

5 –а ітерація

6 –а ітерація

7 –а ітерація

8 –а ітерація

9 –а ітерація

10 –а ітерація

Коли $begin стає більше 9, цикл зупиняється, а управління переходить далі.