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
연산자를 사용할 수 있습니다.