PHP 언어에서 특정 값에 만족하는 케이스에 따라 다른 구문을 실행하기 위한 방법으로 switch case 문이 많이 사용됩니다. 이 방법을 사용하면
선택한 변수의 결과에 각기 다른 조건으로 함수를 실행할 수 있습니다.
이런 switch 구문은 if 구문과 매우 비슷합니다. 다만 if문은 모든 제어문을 실행해야 하지만 switch문은 원하는 값을 발견하면 해당 명령어만 실행 후 바로 break 시키기 때문에 뒤에 문장을 읽지 않아도 되는 장점이 있습니다. 조건이 많은 경우 모든 if문을 실행 할 필요가 없으니 상황에 따라서 더 효과적일 수 있죠. 그럼 아래는 사용하는 방법을 예제를 통해 자세히 알아보겠습니다.
# switch case 구문 예제보기아래 예제는 년월일의 월에 해당하는 부분을 영문으로 바꾸는 예제입니다. 예를들어 1월인경우 Jan 텍스트로 변경되어 $monthStr에 저장합니다. 그럼 아래 예제를 참고해주세요.
<?php
$month = "1";
$monthStr ="";
switch ($month){
case '1':
$monthStr = 'Jan';
break;
case '2':
$monthStr = 'Feb';
break;
case '3':
$monthStr = 'Mar';
break;
...
..
.
default:
$monthStr= 'Null';
}
?>
위 구문을 사용할 경우 해당하는 변수 $month와 맞는 값을 찾기위해 위에서부터 순차적으로 계속해서 실행됩니다. 그리고 해당하는 값을 찾으면 case: 뒤의 구문을 실행하고
break 키워드에 의하여 종료되게됩니다.
맨 뒤의 위치한
default 는 만약
모든 case에 해당하는 값이 없는 경우에 기본값으로 실행할 구문을 위치시킵니다. 즉, 아무런 값이 없는 ... if문의 else { } 와 동일한 역할을 수행한다고 보시면 됩니다. 참고로 맨 뒤에는 break는 없어도 무방할 것입니다.
# 적용 가능한 예는?현재 switch 구문을 사용하여 현재의 년월일 중에서 월에 해당하는 숫자를 영문으로 바꾸어 사용할 수 있습니다. 그외에도 만약 전화번호의 지역번호에 해당하는 부분을 지역명으로 변경하는 것도 가능할 것입니다.
<?php
$localNo = "02";
switch ($localNo) {
case "02":
$localStr = "서울";
break;
case "031":
$localStr = "인천";
break;
}
?>