제어구조는 PHP의 흐름을 제어하는 구조입니다. PHP는 절차식 언어이기 때문에 프로그램의 흐름이 기본적으로 위에서 아래로 흐르게 됩니다. 이때 흐름을 거슬러서 위로 올라가거나 아니면 특정 부분을 건너뛰고 싶을 때, 이를 처리할 수 있는 제어 구조가 필요합니다. 제어구조는 프로그램의 핵심이므로 반드시 기억해두어야 합니다.
if 문은 제어 구조의 가장 기초가 되는 부분입니다. 말그대로 만약 ~~ 이면 다음 내용을 실행하라는 것입니다.
1 |
<? |
소스에서 볼 수 있듯이.. if 구문은 if ( .... ) { .... } 와 같은 형식으로 사용합니다. 괄호안이 참인 경우 중괄호 안을 실행하게 되는 것이지요. 중괄호({})는 한 줄 이상의 구문을 수행하고자 할 때 사용하며 만약 수행할 구문이 하나라면 중괄호를 생략할 수 있습니다.
else 구문은 if 문에서 괄호안의 결과가 FALSE 인 경우 즉, 거짓인 경우 실행합니다.
1 |
<? |
특별히 설명은 필요 없겠죠? ^^
elseif 구문은 else와 if를 합쳐놓은 것과 같습니다.
1 |
<? |
elseif 는 반드시 위의 if 구문이 거짓이고 elseif 구문이 참일 때 중괄호가 실행됩니다. if-elseif-else 구문은 위의 소스를 잘 보시면 충분히 이해 하시리라 생각됩니다.
while은 어떤 블록을 계속적으로 반복해야 할 때 사용합니다. 이렇게 블록을 반복하여 수행하는 것을 루프라고 하는데, while의 경우 조건절이 참일 경우 계속해서 반복하게 됩니다. 따라서 루프를 빠져나오기 위해서는 조건을 거짓으로 만들어줄 수식을 추가하거나 다음에 배울 break 문을 사용하면 됩니다.
1 |
<? |
위의 소스에서 보시다시피 변수 $i는 실행시마다 1씩 증가하며 구문은 변수 $i의 값을 매번 체크하여 참일 경우 다시 실행 시키게 됩니다. 따라서 while 구문은 10번 실행후 자동 종료됩니다. ^^
뭔소린지 아시겠죠? ^^;; 하핫..
do .. while 구문은 while 문과 유사하며 조건절이 뒤에 있기 때문에 반드시 한번은 실행을 된다는 차이가 있습니다.
1 |
<? |
무조건 한번 실행하고 조건절을 판단하므로 위와 같은 결과를 내게 됩니다. 만약 while 문을 썼다면 아무 결과도 안나왔겠죠. while 의 경우엔 처음부터 조건절을 확인하여 참인 경우만 반복하기 때문입니다.
참고.
프로그래밍에서는 제어구조가 정말 중요합니다. 고등학교 수학시간에 배운 순서도 처럼 프로그래밍은 만들려고 하는 프로그램의 전체 흐름을 파악하는 것이 매우 중요합니다. 이러한 흐름을 잘 파악하고 제대로 표현할 수 있어야 유능한 프로그래머가 되겠죠? ^^;;;