update : 2015.11.03
php.shukuma.com

검색:
 
 
do-while

do-while

do-while 루프는 시작부분이 아니라 각 반복(iteration)의 끝부분에서 표현식이 참인지 체크한다는것을 제외하고 while루프와 매우 비슷하다. 일반적인 while문과의 주요한 차이점은 do-while문의 첫번째 반복이 반드시 수행된다는것이다 (반복의 끝부분에서 표현식이 참인지 체크한다), 이와 같은 경우는 일반 while루프로 수행시킬수 없을것이다. (while루프에서는 각 반복의 시작부분에서 표현식이 참인지 체크되고, 시작부터 바로 그 값이 FALSE이면 그 루프는 즉시 수행을 멈추게 된다)

다음에 do-while루프의 한가지 문법을 보인다:

<?php
$i 
0;
do {
   echo 
$i;
} while (
$i 0);
?>

위 루프는 정확히 한번 수행된다. 첫번째 반복(iteration) 이후에 표현식이 참인지 체크할때, FALSE가 되므로 ($i는 0보다 크지 않다) 루프 수행이 멈춘다.

고급 C 유저는 do-while루프의 다른 사용법에 익숙할것이다. 즉, do-while (0)으로 감싸고, break절을 사용하여 코드 블록의 중간에서 수행을 멈출수 있습니다. 다음 코드 예는 이런 경우를 보여준다:

<?php
do {
    if (
$i 5) {
        echo 
"i는 충분히 크지 않다";
        break;
    }
    
$i *= $factor;
    if (
$i $minimum_limit) {
        break;
    }
    echo 
"i is ok";

    
/* process i */

} while (0);
?>

이 코드를 바로 또는 전혀 이해할수 없다고 걱정하지 마라. 이런 '기능'을 사용하지 않고도 일반 스크립트나 심지어 훌륭한 스크립트를 작성할 수 있다.