for 루프는 PHP에서 가장 복잡한 루프이다. 이것의 형태은 C와 매우 유사하다. for 루프의 문법은 다음과 같다. :
첫 번째 표현식(expr1)은 루프를 시작할 때 무조건 한번 평가(실행)된다.
매 반복의 시작 때마다 expr2가 평가된다. 만약 이것이 TRUE면 루프는 계속되고 statement가 실행된다. FALSE이면 루프는 종료된다.
매 반복이 끝날 때 expr3가 평가(실행)된다.
각 평가식은 비워둘 수 있다. expr2가 비어있으면 무한 루프를 뜻한다. (PHP는 C와 같이 비어있으면 TRUE로 인식한다.) 이건 별로 좋은 방법이 아니지만, 종종 이렇게 사용하고 break 를 사용하여 종료하는 방법도 있다.
다음 예는 1에서 10까지 출력하는 예제들이다. :
/* example 1 */ for ($i = 1; $i <= 10; $i++) { print $i; } /* example 2 */ for ($i = 1;;$i++) { if ($i > 10) { break; } print $i; } /* example 3 */ $i = 1; for (;;) { if ($i > 10) { break; } print $i; $i++; } /* example 4 */ for ($i = 1; $i <= 10; print $i, $i++) ; |
물론 처음것이 가장 좋아보인다. 그러나 나머지도 가능하다는 것을 알아야 한다.
PHP는 for 루프에 대해서도 다음과 같은 "colon syntax"를 지원한다.
Other languages have a foreach statement to traverse an array or hash. PHP 3 has no such construct; PHP 4 does (see foreach). In PHP 3, you can combine while with the list() and each() functions to achieve the same effect. See the documentation for these functions for an example.