for
for루프는 PHP에서 제일 복잡한 루프이다. C와 똑같은 방식으로 동작한다. for루프의 문법은 다음과 같다:
for (expr1; expr2; expr3) statement
첫번째 표현식(expr1)은 루프의 시작에서 바로 조건없이 평가된다 (수행된다).
각 반복(iteration)의 시작부분에서 expr2이 평 가된다. 이 표현식이 TRUE이면 루프는 계속되고 내포된 구문(들)이 수행된다. FALSE이면, 루프 수행을 멈춘다.
expr3표현식은 각 반복의 끝부분에서 평가된다 (수행된다).
각 표현은 비어있거나 콤마로 구분한 여러 표현을 가질 수 있습니다. expr2에서 콤마로 구분한 표현은 || 연산자처럼 동작하지만, || 보다 우선권이 낮습니다. expr2이 비어있다는 것은 루프가 무제한 수행되어야 한다는 것을 의미한다 (PHP는 C처럼 TRUE로 인식) 이런 기법은 생각처럼 필요없지는 않다. 왜냐 하면 종종 for문의 표현식 대신에 break문으로 루프를 끝낼 필요가 있기 때문이다.
다음 예제 코드들을 보세요. 이 코드 모두 1부터 10까지의 숫자를 출력한다:
<?php
/* 예제 1 */
for ($i = 1; $i <= 10; $i++) {
echo $i;
}
/* 예제 2 */
for ($i = 1; ; $i++) {
if ($i > 10) {
break;
}
echo $i;
}
/* 예제 3 */
$i = 1;
for (; ; ) {
if ($i > 10) {
break;
}
echo $i;
$i++;
}
/* 예제 4 */
for ($i = 1, $j = 0; $i <= 10; $j += 1, print $i, $i++);
?>
물론, 첫번째 예제(혹은 네번째) 코드가 가장 좋은 방법이다. 그러나 for루프에서 빈 표현식을 사용해야 하는 경우도 부딪히게 될것이다.
PHP는 for루프에 대한 대체 "콜른 문법"을 지원한다.
for (expr1; expr2; expr3): statement ... endfor;