for

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

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

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

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

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

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

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

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

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

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

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

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