728x90


제어구조는 PHP의 흐름을 제어하는 구조입니다. PHP는 절차식 언어이기 때문에 프로그램의 흐름이 기본적으로 위에서 아래로 흐르게 됩니다. 이때 흐름을 거슬러서 위로 올라가거나 아니면 특정 부분을 건너뛰고 싶을 때, 이를 처리할 수 있는 제어 구조가 필요합니다. 제어구조는 프로그램의 핵심이므로 반드시 기억해두어야 합니다.


if 문은 제어 구조의 가장 기초가 되는 부분입니다. 말그대로 만약 ~~ 이면 다음 내용을 실행하라는 것입니다.

1
2
3
4
5
6
7
8
<?
    $a 
1;
    
$b 0;

    if ( 
$a $b ) { //괄호안이 참이면 다음을 실행
        
echo "$a 는 $b 보다 크다.";
    }
?>


소스에서 볼 수 있듯이.. if 구문은 if ( .... ) { .... } 와 같은 형식으로 사용합니다. 괄호안이 참인 경우 중괄호 안을 실행하게 되는 것이지요. 중괄호({})는 한 줄 이상의 구문을 수행하고자 할 때 사용하며 만약 수행할 구문이 하나라면 중괄호를 생략할 수 있습니다.


else 구문은 if 문에서 괄호안의 결과가 FALSE 인 경우 즉, 거짓인 경우 실행합니다.

1
2
3
4
5
6
7
8
9
10
11
<?
    $a 
1;
    
$b 0;

    if ( 
$a $b ) { //괄호안이 참이면 다음을 실행
        
echo "$a 는 $b 보다 크다.";
    }
    else { 
//괄호 안이 거짓인 경우
        
echo "$a 는 $b 보다 작다.";
    }
?>


특별히 설명은 필요 없겠죠? ^^


elseif 구문은 else와 if를 합쳐놓은 것과 같습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
    $a 
1;
    
$b 0;

    if ( 
$a $b ) { //괄호안이 참이면 다음을 실행
        
echo "$a 는 $b 보다 크다.";
    }
    elseif (
$a == $b) { //위가 거짓이고 $a와 $b 가 같은경우
        
echo "$a 는 $b 와 같다.";
    }
    else { 
//괄호 안이 거짓인 경우
        
echo "$a 는 $b 보다 작다.";
    }
?>


elseif 는 반드시 위의 if 구문이 거짓이고 elseif 구문이 참일 때 중괄호가 실행됩니다. if-elseif-else 구문은 위의 소스를 잘 보시면 충분히 이해 하시리라 생각됩니다.


while은 어떤 블록을 계속적으로 반복해야 할 때 사용합니다. 이렇게 블록을 반복하여 수행하는 것을 루프라고 하는데, while의 경우 조건절이 참일 경우 계속해서 반복하게 됩니다. 따라서 루프를 빠져나오기 위해서는 조건을 거짓으로 만들어줄 수식을 추가하거나 다음에 배울 break 문을 사용하면 됩니다.

1
2
3
4
5
6
7
<?
    $i 
1;
    while (
$i <= 10) { //구문이 참이면.. 중괄호부분을 무한반복
        
echo $i++;
        
//$i 가 1씩 계속 증가하니 10번 반복하면 끝나겠지요?
    

?>


위의 소스에서 보시다시피 변수 $i는 실행시마다 1씩 증가하며 구문은 변수 $i의 값을 매번 체크하여 참일 경우 다시 실행 시키게 됩니다. 따라서 while 구문은 10번 실행후 자동 종료됩니다. ^^

뭔소린지 아시겠죠? ^^;; 하핫..


do .. while 구문은 while 문과 유사하며 조건절이 뒤에 있기 때문에 반드시 한번은 실행을 된다는 차이가 있습니다.

1
2
3
4
5
6
<?
    $i 
0;
    do { 
//우선 한번 무조건 실행하고 본다..
        
echo $i;
    } while ( 
$i >) // $i 가 0보다 크면 다시 반복
?>



무조건 한번 실행하고 조건절을 판단하므로 위와 같은 결과를 내게 됩니다. 만약 while 문을 썼다면 아무 결과도 안나왔겠죠. while 의 경우엔 처음부터 조건절을 확인하여 참인 경우만 반복하기 때문입니다.

참고.
프로그래밍에서는 제어구조가 정말 중요합니다. 고등학교 수학시간에 배운 순서도 처럼 프로그래밍은 만들려고 하는 프로그램의 전체 흐름을 파악하는 것이 매우 중요합니다. 이러한 흐름을 잘 파악하고 제대로 표현할 수 있어야 유능한 프로그래머가 되겠죠? ^^;;;

728x90
복사했습니다!