òåëî_öèêëà;
Работает он следующим образом. Как только управление доходит до цикла, первым делом выполняются операторы, включенные в инициализирующие_команды (слева направо). Эти команды перечисляются там через запятую, например:
for($i=0,$j=10,$k="Test!; ......)
Затем начинается итерация. Первым делом проверяется, выполняется ли условие_цикла (как в конструкции while). Если да, то все в порядке, и цикл продолжается. Иначе осуществляется выход из конструкции. Например:
// ïðèáàâëÿåì ïî îäíîé òî÷êå
for($i=0,$j=0,$k="Test"; $i<10; .....) $k.=".";
Предположим, что тело цикла проработало одну итерацию. После этого вступают в действие команды_после_прохода
(их формат тот же, что и у инициализирующих операторов). Например:
for($i=0,$j=0,$k="Points"; $i<100; $j++,$i+=$j) $k=$k.".";
Хочется добавить, что приведенный пример (да и вообще любой цикл for) можно реализовать и через while, только это будет выглядеть не так изящно и лаконично. Например:
$i=0; $j=0; $k="Points";
while($i<100) {
$k.=".";
$j++; $i+=$j;
}
Вот, собственно говоря, и все... Хотя нет. Попробуйте угадать: сколько точек добавится в конец переменной $k после выполнения цикла?
Как обычно, имеется и альтернативный синтаксис конструкции:
for(èíèöèàëèçèðóþùèå_êîìàíäû; óñëîâèå_öèêëà; êîìàíäû_ïîñëå_ïðîõîäà):
îïåðàòîðû;
endfor;
Инструкции break
и continue