while
문의 정의 및 사용법
while
문은 조건식과 코드 블록으로 구성되며,
조건식이 참(true
)인 동안 코드 블록을 반복 실행하는 반복문입니다.
조건식이 거짓(false
)이 되면 반복이 종료됩니다.
while
문은 if
문이 반복되는 형태라고 생각할 수 있습니다.
출처: wikipedia - While loop
구문
while
문은 괄호로 묶인 조건식과 코드 블록으로 구성되어 있습니다.
코드 블록 실행 조건식
코드 블록을 실행할 조건식입니다. 생략할 수 없습니다.
- 이 조건식이 참(
true
)이면 코드 블록을 실행합니다. - 이 조건식이 거짓(
false
)이면while
문은 더 이상 실행되지 않고 종료됩니다. - 조건식을 생략하면 구문 오류가 발생합니다.
구문의 실행 순서
while
문이 실행될 때, 다음의 순서대로 실행됩니다.
코드 블록 실행 조건식
으로 검사합니다. 이때, 이 조건식이 참(true
)이면 코드 블록을 실행합니다. 하지만, 거짓(false
)이면for
문은 더 이상 실행되지 않고 종료됩니다.코드 블록 실행 조건식
이 참(true
)으로 검사되었다면 코드 블록이 실행됩니다.- 코드 블록이 실행된 후,
코드 블록 실행 조건식
으로 검사하는 첫 번째 단계로 되돌아갑니다. 이 후의 단계가 반복됩니다.
참고사항
PHP에서는 while
문에 대한 제어 구조를 위한 대체 구문(Alternative Syntax for Control Structures)을 지원합니다. 이를 "colon syntax"라고도 부릅니다. 이 구문은 주로 HTML과 PHP를 섞어 쓸 때 가독성을 높이기 위해 사용됩니다.
while
문의 유용성
while
문은 특정 횟수가 사전에 정해져 있지 않은 부울(boolean) 조건의 코드를 반복 실행할 때 매우 유용합니다.
예를 들어, 데이터베이스에서 가져올 데이터의 개수가 사전에 정해져 있지 않은 상황에서 반복적으로 데이터를 처리할 수 있습니다.
아래 예제는 MySQL 데이터베이스에서 게시판 목록을 가져와 출력하는 코드입니다. 데이터베이스에 저장된 게시물의 개수는 미리 알 수 없으므로, while
문을 사용하여 모든 게시물을 출력할 때까지 반복합니다.
일러두기!!
소개하는 예제 코드는 while
문의 작동의 이해를 위한 단순 예제입니다.
실전에서 사용하려면 추가적인 적절한 조치가 필요할 수 있습니다.
이 예제는 while
문이 특정 횟수가 사전에 정해져 있지 않은 조건에서 코드를 반복 실행하는 데 어떻게 유용하게 사용될 수 있는지를 보여줍니다. 데이터베이스에서 결과를 가져와 처리할 때, 결과의 개수를 미리 알 수 없으므로 while
문을 사용하여 조건이 충족될 때까지 반복 실행하는 것이 적절합니다.
반면에, for
문은 특정 횟수나 정해져 있는 범위만큼 코드를 반복 실행할 때 매우 유용합니다.
주의할 점
while
문을 사용할 때에는 무한 반복에 빠지지 않게 주의해야 합니다.
반복 횟수를 제어하기 위해 상황에 따라 조건식을 변경하거나 증감 변수를 사용을 고려할 수 있습니다.