do-while

(PHP 4, PHP 5, PHP 7, PHP 8)

do-while 루프는 while 루프와 매우 유사합니다. 단, 처음이 아니라 각 반복이 끝날 때 진리식이 확인됩니다. 일반 while 루프와의 주요 차이점은 do-while 루프의 첫 번째 반복은 실행이 보장되는 반면(진실 표현식은 반복이 끝날 때만 확인됨) 일반 while 루프( true 표현식은 각 반복의 시작 부분에서 확인되며 처음부터 false로 평가되면 루프 실행이 즉시 종료됩니다.

do-while 루프에는 단 하나의 구문이 있습니다.

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

위의 루프는 정확히 한 번만 실행될 것입니다. 첫 번째 반복 후 참 표현식이 확인되면 false으로 평가되고($i는 0보다 크지 않음) 루프 실행이 종료되기 때문입니다.

고급 C 사용자는 do-while (0)으로 캡슐화하고 break 문을 사용하여 코드 블록 중간에 실행을 중지할 수 있도록 하는 do-while 루프의 다른 사용법에 익숙할 수 있습니다. 다음 코드 조각은 이를 보여줍니다.

                  
<?php
do {
    if ($i < 5) {
        echo "i is not big enough";
        break;
    }
    $i *= $factor;
    if ($i < $minimum_limit) {
        break;
    }
   echo "i is ok";

    /* process i */

} while (0);
?>
                  
                

이 해킹 대신 goto 연산자를 사용할 수 있습니다.