SSISO Community

시소당

제어구조 - 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);
?>    



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

1133 view

4.0 stars