>  기사  >  백엔드 개발  >  PHP for 루프 문 구문 소개 및 사용 예

PHP for 루프 문 구문 소개 및 사용 예

伊谢尔伦
伊谢尔伦원래의
2017-06-23 09:53:512330검색

for loop는 루프가 추가된 코드가 조금 더 많은 것입니다. 관련된 루프의 일반적인 작업은 다음과 같습니다.

1 일부 카운터 변수의 초기 값을 설정합니다.
2. 조건문이 맞는지 확인해주세요.
3. 실행 중 코드 루프.
4. 각 반복이 끝날 때마다 루프 카운터를 증가시킵니다.
for 루프를 사용하면 간단한 코드 줄로 이러한 단계를 정의할 수 있습니다. 형태가 이상한 것 같으니 문법에 꼭 주의하세요!
for 루프의 구문은 다음과 같습니다.

for (expr1; expr2; expr3) 
statement

첫 번째 expression(expr1)은 루프가 시작되기 전에 무조건 한 번 평가됩니다.
expr2는 각 루프 전에 평가됩니다. 값이 TRUE이면 루프가 계속되고 중첩 루프 문이 실행됩니다. 값이 FALSE이면 루프가 종료됩니다.
expr3은 각 루프 후에 평가(실행)됩니다.
각 표현식은 비어 있거나 쉼표로 구분된 여러 표현식을 포함할 수 있습니다. expr2 표현식에서는 쉼표로 구분된 모든 표현식이 평가되지만 마지막 결과만 사용됩니다. 빈 expr2는 루프가 무한정 계속됨을 의미합니다(C와 마찬가지로 PHP는 해당 값을 TRUE로 간주함). 이는 생각만큼 쓸모가 없을 수도 있습니다. 왜냐하면 for 식의 진실성 검사를 사용하는 대신 break 문을 사용하여 루프를 종료하려는 경우가 많기 때문입니다.
예제 1

for ($i = 0; $i <= 2; $i++) 
{ 
print "value is now " . $i . "<br>"; 
}

출력 값

value is now 0 
value is now 1 
value is now 2

첫 번째 루프에서 $i=0은 ($i<= 2) 표현식이 true임을 의미합니다. 따라서 print 문이 실행되면 $i는 1씩 증가하여 1이 된다.

두 번째 루프에서 $ = 1은 ($i<= 2) 표현식이 참임을 의미합니다. 따라서 print 문이 실행되면 $i는 1씩 증가하여 2가 된다.

세 번째 반복에서 $i= 2는 ($i<= 2) 표현식이 참임을 의미합니다. 따라서 print 문이 실행되면 $i가 증가하여 1 3이 됩니다.

네 번째 반복에서는 ($i<= 2) 표현식이 거짓임을 의미하는 $i= 3입니다. 따라서 PHP는 루프를 실행하지 않고 print 문을 실행하지 않습니다.

예제 2

$brush_price = 5; 
echo "<table border="1" align="center">"; 
echo "<tr><th>Quantity</th>"; 
echo "<th>Price</th></tr>"; 
for ( $counter = 10; $counter <= 100; $counter += 10) { 
echo "<tr><td>"; 
echo $counter; 
echo "</td><td>"; 
echo $brush_price * $counter; 
echo "</td></tr>"; 
} 
echo "</table>";

출력 값

Quantity Price 
10 50 
20 100 
30 150 
40 200 
50 250 
60 300 
70 350 
80 400 
90 450 
100 500

다음 예를 참조할 수 있으며 모두 1~10의 숫자를 표시합니다.

<?php 
/* example 1 */ 
for ($i = 1; $i <= 10; $i++) { 
echo $i; 
} 
/* example 2 */ 
for ($i = 1; ; $i++) { 
if ($i > 10) { 
break; 
} 
echo $i; 
} 
/* example 3 */ 
$i = 1; 
for (;;) { 
if ($i > 10) { 
break; 
} 
echo $i; 
$i++; 
} 
/* example 4 */ 
for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++); 
?>

물론 첫 번째 예가 가장 평범해 보이지만(또는 네 번째) user may for 루프에서 빈 표현식을 사용하는 것이 많은 상황에서 편리하다는 것을 알게 될 것입니다.

PHP는 콜론을 사용하는 for 루프에 대한 대체 구문도 지원합니다.

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

다음 배열을 순회해야 하는 경우가 많습니다.

<?php 
/* 
* 我们想要在遍历的过程中改变以下数组中某些元素的值 
*/ 
$people = Array( 
Array(&#39;name&#39; => &#39;Kalle&#39;, &#39;salt&#39; => 856412), 
Array(&#39;name&#39; => &#39;Pierre&#39;, &#39;salt&#39; => 215863) 
); 
for($i = 0; $i < sizeof($people); ++$i) 
{ 
$people[$i][&#39;salt&#39;] = rand(000000, 999999); 
} 
?>

위 코드의 문제는 for의 두 번째 표현식으로 인해 코드가 매우 느리게 실행된다는 것입니다. 이는 반복될 때마다 계산되어야 하기 때문입니다. 배열의 길이입니다. 배열의 길이는 항상 동일하게 유지되므로 중간 변수를 사용하여 배열의 길이를 저장한 다음 이 변수를 for 루프의 두 번째 표현식으로 사용할 수 있습니다. 이런 방식으로 매번 다시 계산할 필요 없이 루프 중에 변수 값을 직접 사용할 수 있습니다. 다음과 같습니다:

<?php 
$people = Array( 
Array(&#39;name&#39; => &#39;Kalle&#39;, &#39;salt&#39; => 856412), 
Array(&#39;name&#39; => &#39;Pierre&#39;, &#39;salt&#39; => 215863) 
); 
for($i = 0, $size = sizeof($people); $i < $size; ++$i) 
{ 
$people[$i][&#39;salt&#39;] = rand(000000, 999999); 
} 
?>


위 내용은 PHP for 루프 문 구문 소개 및 사용 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.