조건식 switch, case, break구문

switch문은 if문과 비슷하나, if문보다는 다양하고 깔끔하게 표현할 수 있다는 점에 매력이 있습니다.

 switch (expression) {
 case (value1):
     statements;
     break;
 case (value2):
     statements;
     break;
 case (value3):
     statements;
     break;
 case (value4):
     statements;
     break;
 default:
     statements;
 }

switch문은 "switch(조건)"의 값을 각각 case의 조건식에 대입하여 참,거짓 여부를 비교합니다. 만일 동일한 값, 일치하는 값을 찾으면 break를 만날때까지 해당 스크립트를 실행하게 되는데, 만약 참인 case조건식에 break구문이 없으면 break구문을 만날때까지 여러 case구문이 실행되어 버려 엉뚱한 값을 얻는 경우도 발생되니 주의가 필요합니다. 일치하는 값이 없다면 default의 코드를 실행하게 됩니다.

예제 (ex #1

 <?php
 $s 
false
;
 
$s "php학생"
;
 switch(
$s
){
 case 
"asp학생"
:
  
$school "asp학생"
;
  
$cnt 1
;
 break;

 case 
"php학생"
:
  
$school "php학생"
;
  
$cnt 2
;
 break;

 case 
"비주얼학생"
:
  
$school "비주얼학생"
;
  
$cnt 3
;
 break;

 default:
  
$school "일반"
;
  
$cnt 0
;
 }

 echo 
$cnt"번 "$s"입니다."
// 출력: 2번 php학생입니다. 
 
?> 


아래 예는 좋은 학습이 될 것입니다.

예제 (ex# 2

 <?php
 $s 
false
;
 
$school false
;
 
$s "php학생"
;
 
$z 1
;
 switch(
$s
){
    case 
"asp학생"
:
        
$school "asp학생"
;
        
$cnt 1
;
    break;

    case 
"php학생"
:
        
$school "php학생"
;
        
$cnt 2
;
        if(
true
)
            echo 
"habony와 함께하는 php마스터 "
;
        switch(
$z
) {
            case 
3
:
                echo 
"php3"
;
            break;
            case 
2
:
                echo 
"php4"
;
            break;
            case 
1
:
                echo 
"php5"
;
                switch(
$cnt
) {
                    case 
1
:
                        echo 
" 고수되기"
;
                    break;
                    default;
                        echo 
" 배우기"
;
                } 
// 3 switch
                
echo " "
;
            break;
        } 
// 2 switch
    
break;

    case 
"비주얼학생"
:
        
$school "비주얼학생"
;
        
$cnt 3
;
    break;

    default:
        
$school "일반"
;
        
$cnt 0
;
 } 
// 1 switch

 
echo $cnt"번 "$s"입니다."
// 출력: habony와 함께하는 php마스터 php5 배우기 2번 php학생입니다. 
 
?> 

+ Recent posts