PHP 매뉴얼
이전 | 11. 장. 제어 구조 | 다음

# `for`

`for`루프는 PHP에서 제일 복잡한 루프이다. C와 똑같은 방식으로 동작한다. `for`루프의 문법은 다음과 같다:

    for (expr1; expr2; expr3) statement

첫번째 표현식(`expr1`)은 루프의 시작에서 바로 조건없이 평가된다 (수행된다).

각 반복(iteration)의 시작부분에서 `expr2`이 평 가된다. 이 표현식이 `TRUE`이면 루프는 계속되고 내포된 구문(들)이 수행된다. `FALSE`이면, 루프 수행을 멈춘다.

`expr3`표현식은 각 반복의 끝부분에서 평가된다 (수행된다).

각 표현식은 비어 있을수 있다. `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; $i <= 10; echo $i, $i++); ?>`

물론, 첫번째 예제(혹은 네번째) 코드가 가장 좋은 방법이다. 그러나 `for`루프에서 빈 표현식을 사용해야 하는 경우도 부딪히게 될것이다.

PHP는 `for`루프에 대한 대체 "콜른 문법"을 지원한다.

    for (expr1; expr2; expr3): statement; ...; endfor;

다른 언어에서는 배열이나 해쉬를 편리하게 사용하기위해 `foreach`구문도 지원합니다. PHP 3는 이 구조를 지원하지 않지만, PHP 4는 지원합니다. (foreach를 보세요) PHP 3에서는 while문과 list(), each()함수를 조합하여 같은 효과를 볼수있습니다. 이런 예제는 위 함수에 대한 문서를 보세요.

이전 | 처음으로 | 다음
`do..while` | 위로 | `foreach`