for 문은 PHP의 루프 제어 부분(및 여러 언어에서)에서 가장 기본적인 문이라고 할 수 있습니다. for 문의 실행 규칙과 기본 사용법은 여기에서 설명하지 않습니다. PHP 매뉴얼 중. 해당 구문은 PHP 매뉴얼에 다음과 같이 정의되어 있습니다:
for (expr1; expr2; expr3)
문의
몇 가지 유용한 변형에 대해 이야기해 보겠습니다.
1. 무한 루프
우선 누구나 알고 있는 무한 루프('데드 루프'라고도 함)이다. 빈 표현식 null은 구문상 유효하므로 for 문의 세 가지 표현식을 비워 둘 수 있습니다. 그러면 중첩된 for 문을 계속 실행하는 효과가 있습니다.
<?php
을 위한 (;;) {
//연속적으로 실행해야 하는 명령문을 배치합니다.
}
?>
일부 작업에서는 무한 루프를 사용하지만 대부분의 프로그램 작업, 특히 PHP와 관련된 필드에서는 무한 루프를 사용할 때 루프를 종료하기 위한 몇 가지 조건을 추가합니다.
<?php
을 위한 (;;) {
//서기 2199년이면 루프를 종료합니다. if (date('Y') == '2199') {
부서지다;
}
}
?>
2. 빈 표현식 사용
다음으로 expr1 초기화 문에서 null 구문을 사용하는 방법에 대해 설명하겠습니다. expr1을 비워 두는 가장 일반적인 기능은 더 복잡한 초기화 작업을 완료하는 것입니다.
<?php
if (isset($i)) {
설정되지 않음($i);
if ((int) date('') < 2008) {
$i = 0;
} 또 다른 {
$i = 1;
}
} 또 다른 {
$i=3;
}
(;$i < 10;$i++) {
에코 $i;
}
?>
같은 방식으로 반복 표현식 expr3을 비워 둘 수도 있습니다. 이는 다른 조건에 따라 다른 반복을 호출하는 등 더 복잡한 반복을 작성하는 데에도 사용할 수 있습니다.
for 문에서 조건문 expr2를 비워두면 위에서 언급한 무한 루프가 됩니다. 물론 루프에서 벗어날 시기를 결정하기 위해 좀 더 복잡한 조건을 추가할 수도 있으며 여기서는 반복하지 않습니다.
3. 다중 루프
다중 루프를 사용하여 다중 변수를 제어하는 것도 for 문에서 종종 간과되는 기능입니다. 아래 예에서와 같이 이중 루프는 일반적으로 일반 작업에 사용되며 3개 이상의 루프는 일반적으로 거의 의미가 없습니다.
<?php
for ($i = 0, $j = 10;$i <= 10;$i++, $j--) {
echo "$i + $j = 10rn";
}
?>
위 코드는 다음을 출력합니다:
0 + 10 = 10
1 + 9 = 10
2 + 8 = 10
3 + 7 = 10
4 + 6 = 10
5 + 5 = 10
6 + 4 = 10
7 + 3 = 10
8 + 2 = 10
9 + 1 = 10
10 + 0 = 10
4. 더 복잡한 표현식
for 문의 세 가지 표현식을 더 복잡하게 작성하면 최적화 알고리즘에 사용할 수 있습니다. 루프 본문 없이 for 문을 사용하여 일부 작업을 완료할 수도 있습니다. 예를 들어, 누적 또는 계승을 계산하려면:
<?php
//1~5의 누적 결과를 계산하고, bin 값을 $j로 합니다.
for ($i = 1,$j = 0; $i <= 5;$j += $i++);
echo $j;
//1~5의 계승 결과를 계산하고, bin 값은 $j입니다.
for ($i = 1,$j = 1; $i <= 5;$j *= $i++);
echo $j;
?>
PHP는 C 언어의 구문을 사용하며 어느 정도 C의 특성도 갖습니다. 예를 들어 강력한 for 루프 문이 대표적인 예입니다.