Цикл з лічильником for

Це самі складні цикли в PHP. Вони нагадують відповідні цикли Pascal.

Структура:

for (вираз1; вираз2; вираз3) {блок_виконання}

або

for (вираз1; вираз2; вираз3): блок_виконання endfor;

Тут, як ми бачимо, умова складається відразу з трьох виразів. Перший вираз вираз1 обчислюється безумовно один раз на початку циклу. На початку кожної ітерації обчислюється вираз2. Якщо він є True, то цикл продовжується і виконуються всі команди блоку_виконання. Якщо вираз2 обчислюється як False, то виконання циклу зупиняється. Наприкінці кожної ітерації (тобто після виконання всіх команд блоку_виконання) обчислюється вираз3.

Кожен з виразів 1, 2, 3 може бути порожнім. Якщо вираз2 є порожнім, то це означає, що цикл повинен виконуватися невизначену кількість разів (у цьому випадку PHP вважає цей вираз завжди вірним). Це не так непотрібно, як здається, адже цикл можна зупиняти, використовуючи оператор break.

Наприклад, усі парні цифри від 1 до 10 можна вивести з використанням циклу for наступним чином:

<?phpfor ($i=0; $i<10; $i++){ if ($i % 2 == 0) print $i; // друкуємо парні числа}?>

Якщо опустити другий вираз (умову $i<10), то таку ж задачу можна розв’язати, зупиняючи цикл оператором break.

<?phpfor ($i=0;; $i++){ if ($i>=10) break; // якщо $і більше або дорівнює 10, // те припиняємо роботу циклу if ($і % 2 == 0) print $і; // якщо число парне, // те друкуємо його}?>

Можна опустити всі три вирази. У цьому випадку просто не буде задано початкове значення лічильника $i і воно не буде змінюватися щоразу наприкінці циклу. Усі ці дії можна записати у вигляді окремих команд або в блоці_виконання, або перед циклом:

<?php$і=0; // задаємо початкове значення лічильникаfor (;;){ if ($і>=10) break; // якщо $і більше або дорівнює 10, // те припиняємо роботу циклу if ($і % 2 == 0) print $і; // якщо число парне, // те друкуємо його$і++; // збільшуємо лічильник на одиницю}?>

У третій вираз конструкції for можна записувати через кому відразу кілька найпростіших команд. Наприклад, якщо ми хочемо просто вивести всі цифри, то програму можна записати зовсім просто:

<?phpfor ($і=0; $і<10; print $і, $і++) /* Якщо блок_виконання не містить командабо містить тільки одну команду, фігурні дужки, у які він укладений,можна опускати*/?>

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: