for

for 루프는 PHP에서 가장 복잡한 루프이다. 이것의 형태은 C와 매우 유사하다. for 루프의 문법은 다음과 같다. :

for (expr1; expr2; expr3) statement

첫 번째 표현식(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"를 지원한다.

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

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.