for문은 조건식이 참일때까지 반복적으로 작업을 진행합니다.
for (expr1; expr2; expr3) {
statement;
}
첫 번째(expr1)는 루프의 시작을 뜻합니다. 두 번째(expr2)는 조건식인데, expr1의 값에 영향을 받습니다.
expr1의 값을 대입하여 조건식이 참이면 루프를 멈추고, 거짓이면 expr3 값을 증감(++) 또는 차감(--)시키며 루프를 형성합니다.
if문처럼 "콜론(:) 문법"과 "짧은 문법"을 사용할 수 있습니다.
for (expr1; expr2; expr3) {
statement;
}
for (expr1; expr2; expr3) :
statement;
endfor;
for (expr1; expr2; expr3)
statement;
<?php
echo "<select name=\"sel\">\n";
for ($=0; $i<=10; $++) {
echo "<option value=\"$i\">$i</option>\n";
}
echo "</select>\n";
?>
for문내에 중첩도 가능합니다. 다음은 중첩해서 구구단을 구현해 보았습니다.
<?php
echo "php 구구단 <br/><br/>\n";
for ($i=2 ; $i <= 9 ; $i++) {
echo "$i 단 <br/>\n";
for ($j=1; $j<=9;$j++) {
echo "$i*$j=".$i*$j,"<br/>\n";
}
echo "<br/>\n";
}
?>
C언어처럼 첫 번째 표현식(루프의 시작), 또는 세 번째 표현식을 공백으로 둘 수 있습니다. 그리고 두 번째 표현식(조건식)을 생략할 경우 "참"으로 인식하여 루프를 형성합니다.
<?php
$i = 1;
for (; ; ) {
if ($i > 10) {
break;
}
echo $i." ";
$i++;
}
?>
<?php
for ($i = 1; ; $i++) {
if ($i > 10) {
break;
}
echo $i." ";
}
?>
아래 예제를 보면 조금 특별하게 표현할 수 있습니다.
<?php
for ($i = 1, $j = 0; $i <= 10; $j += 1, print("i($i) => j($j)<br/>\n"), $i++);
?>
<?php
$people = Array('Kalle','Pierre','merray','Cals');
for($i = 0, $size = sizeof($people); $i < $size; ++$i) {
echo $people[$i]." ";
}
?>