Цикли (основи php - урок з курсу)

Як працюють цикли, Види циклів

Цикли (основи php - урок з курсу)

Цикли дозволяють багаторазово виконувати блок коду. Це необхідно для вирішення безлічі завдань. Наприклад, перебір записів, отриманих з бази даних, Прогресивне читання файлу або обхід елементів масиву. У РНР є чотири типи циклів: while. do..while. for і foreach. Перші три описуються далі, а foreach - при обговоренні масивів далі.

Конструкція while є простим оператор циклу. Блок операторів виконується, поки вірно умова.

Розглянемо роботу циклу докладніше:

  1. Перевірка умови.
  2. Якщо воно істинне, виконання операторів; якщо помилково - вихід з циклу.
  3. Перехід до кроку 1.

Для управління циклом звичайно потрібно одна або кілька змінних. Наприклад, цілочисельне значення, кожен раз що збільшується на одиницю. Ці змінні так і називаються - керуючі змінні циклу.

Розглянемо простий приклад виводачісел від 1 до N:

Іноді керуюча змінна циклу буває булевої. Наприклад, при читанні в циклі рядків файлу можна використовувати змінну булева типу, що визначає кінець файлу.

Цикли do..whileаналогічни циклам while. за винятком того, що условіепроверяется не на початку, а в кінці кожної ітерації. Це означає, що цикл буде виконано. по крайней мере, один раз.

Розглянемо роботу циклу:

  1. Виконання блоку операторів.
  2. Перевірка умови.
  3. Якщо воно істинне, перехід до кроку 1; якщо помилково - вихід з циклу.

У прикладі нижче одиниця буде виведена, навіть якщо N = 0.

Цикл do..while використовують досить рідко через його громіздкість і поганий читання. Краще злегка змінити алгоритм (від чого він, швидше за все, виграє) і пріменітьfor або while.

Цикл for - шедевр лаконічною організації коду, що прийшов з мови Сі. Конструкція дозволяє одним рядком повністю определітьповеденіе циклу:

Вираз1 обчислюється перед початком циклу. Зазвичай в ньому инициализируется керуюча змінна. Вираженіе2 обчислюється на початку кожної ітерації циклу. Цей вислів веде так само, як умова циклу while. якщо значенням Вираженія2 виявляється true. цикл триває. інакше - зупиняється. Вираз3 обчислюється в кінці кожної ітерації і, як правило, використовується для зміни значення керуючої змінної циклу.

Хід виконання циклу:

  1. Виконання Вираженія1.
  2. Перевірка Вираженія2.
  3. Якщо воно істинне, перехід до кроку 4; якщо помилково - вихід з циклу.
  4. Виконання блоку операторів.
  5. Виконання Вираженія3.
  6. Перехід до кроку 2.

Розглянемо той же приклад виведення чисел від 1 до N:

Приклад демонструє найбільш частоепрімененіе конструкції for. форматувати керуючу змінну, порівняти змінну зі значенням, інкрементіровать або декрементіровать значення. Однак for може використовуватися і іншими способами.

Так само, як в Сі та інших мовах, допускається не вказувати одне або більше виразів (якщо не вказано Вираженіе2, вважається, що воно true). Цикл while завжди можна замінити циклом for.

Наступні дві конструкції еквівалентні.
Варіант 1 .

Нескінченним називається цикл такого вигляду:

Для виходу з циклу можна використовувати оператор break.

Оператор break миттєво завершує виконання циклу. Якщо ж потрібно закінчити поточну ітерацію циклу і повернутися до перевірки його умови, можна скористатися оператором continue. Наступний приклад демонструє висновок непарних чисел від 1 до N:

Залишок від ділення на два парного числа дорівнює нулю, такі числа ми пропускаємо в наведеному прикладі. Правильніше вважається не використовувати оператори переривання циклу, а покладати логіку управління на умова. Намагайтеся організовувати цикли саме так.

Схожі статті