2011-10-11 6 views
3

모두 알고 계시 겠지만, do loops은 진술이 거짓이라 할지라도 적어도 한 번 이상 실행됩니다. 진술이 거짓이라면 while loop은 한번도 실행되지 않습니다.do 루프는 언제 유용합니까?

do 루프가 유용한시기는 언제입니까? 누군가 실제 삶의 모범을 보여줄 수 있습니까?

+2

관련 http://stackoverflow.com/q/1035229/38206 –

답변

3

그들은 적어도 한 번 이상 뭔가를 원할 때 기본적으로 유용합니다.

염두에 두어야 할 첫 번째 예는 데이터베이스에서 고유 ID (순차적이지 않은)를 생성하는 것입니다. 가끔 걸릴 접근 방식은 다음과 같습니다

lock table 
do { 
    id = generate random id 
} while(id exists) 
insert into db with the generated id 
unlock table 

는 기본적으로 하나가 (: 잠재적으로 무한 루프를, 나는 상황에 따라 방지 할 수있는 참고)이 존재하지 않을 때까지 ID를 생성 유지합니다.

+0

아래 유권자의 설명에 신경 써야할까요? 내려 가지 마라! :( – Corbin

0

Do 루프는 여러 파일을 검사해야하는 경우 매우 강력합니다. 반복의 보장으로 인해 모든 작업이 완료됩니다. 이미 대답 된 내용에 다음

do { 
    if($integer > 0) { $nameoffile[0]++; } 
    else { $nameoffile[0] = $nameoffile[0].$integer; } 
    $integer++; 
} while(file_exists("directory/".$nameoffile[0].".".$nameoffile[1])); 
0

, 당신이 할 일에이 같은 원유 물건을 수행 할 수 있습니다

계속 할 수있는 switch 루프의 수정이다
do 
{ 
    if ($cond1) break; 

    if ($cond2) continue; 

    do_something(); 

} while(true/false); 

. goto 유사점을 시뮬레이트 할 수 있습니다. goto과 유사하지는 않습니다.

코드가 읽기 쉽도록해서는 안되기 때문에 코드 작성을 권장하지 않습니다. 그러나 기술적으로 작동합니다.

관련 문제