조건 제어문(2)
우리가 어떤 조건문을 기술할 때 일반적으로 if 구문을 쓰게 됩니다.
그런데, 여러 개의 동일한 표현식의 조건문을 기술할 때 if 구문을 사용하는 것보다 switch 구문을 사용하게 되면 코드 해독성이 좋습니다.
예를 들어, 다음과 같이 if 구문만으로 기술된 조건문을 볼까요.
<?
$var = 10;
if($var == 5) {
echo("value : 5");
} else if($var == 10) {
echo("value : 10");
} else if($var == 15) {
echo("value : 15");
} else {
echo("unknown value ...");
}
?>
위 코드는 $var 변수값을 각각의 조건식에서 비교해서 해당되는 문장을 실행하는 코드이죠.
그런데, switch 구문을 사용하면 다음과 같이 위 코드를 좀 더 보기 쉽게 바꿀수 있죠.
<?
$var = 10;
switch ($var) {
case (5) :
echo("value : 5");
break;
case (10) :
echo("value : 10");
break;
case (15) :
echo("value : 15");
break;
default :
echo("unknown value ...");
}
?>
if 구문으로 기술된 코드보다는 switch 구문으로 기술된 코드가 코드를 이해하는데 좀 더 수월하죠.
그럼, 위 switch 구문이 사용된 예제를 잠깐 살펴볼까요.
위 코드에서 break 문은 반복 제어문에 사용되는 break 구문과 비슷한 역할을 하는 것으로 switch 구문이 사용된 블럭을 빠져나가게 합니다.
그래서, 만일 위 코드의 "case (10)" 의 작은 블럭문에 포함된 break 문을 쓰지 않으면 다음 break 문이 나올 때까지 혹은 switch 블럭이 끝날 때까지 그 중간에 포함된 코드를 모두 실행하게 되죠.
그리고, 위 switch 구문의 마지막에 보이는 default 문은 if 구문의 else 문과 비슷한 역할을 하는 것으로 switch 구문에 포함된 조건식들에 모두 만족하지 않을 때 default 문에 포함된 코드가 실행되게 하죠.
그럼, 다음 예제는 어떤 프로그램일까요?
<?
$var = 3;
switch ($var) {
case (1) :
case (2) :
case (3) :
echo("변수값이 4보다 작습니다.");
break;
default :
echo("변수값이 4보다 크거나 같습니다");
}
?>
네, $var 변수값이 1 에서 3 사이이면 "4보다 작다"는 메시지를 출력하고 그 조건에 만족하지 않으면 "4보다 크거나 같다"는 메시지를 출력하는 프로그램이죠.
따라서, 위 코드를 실행하면 변수값이 4보다 작습니다. 라고 나오겠죠.
게시글 목록
| 번호 | 제목 |
|---|---|
| 28213 | |
| 31006 |
CSS
css가 충돌이 됬을때
4
|
| 7898 | |
| 7897 | |
| 19935 |
JavaScript
풀스크린 스크립트
|
| 7892 | |
| 7885 | |
| 31005 | |
| 28209 | |
| 7880 | |
| 7877 | |
| 7871 | |
| 7865 | |
| 7862 | |
| 7858 | |
| 7852 | |
| 19933 |
웹서버
vi 온라인 학습장
1
|
| 19931 |
jQuery
강력한 무료 멀티 업로더...
1
|
| 19928 | |
| 19927 | |
| 31003 |
HTML
HTML5 자바스크립트 API
1
|
| 19920 |
기타
P3P 규약의 이해
6
|
| 28206 | |
| 19918 | |
| 28200 | |
| 7850 | |
| 19916 | |
| 28180 | |
| 28165 | |
| 19911 | |
| 7842 | |
| 7838 | |
| 7830 | |
| 7818 | |
| 28150 | |
| 19906 |
PHP
외부이미지 썸네일 만들기
5
|
| 19905 |
웹서버
퍼미션 계산기-아주 좋습니다.
|
| 19903 |
JavaScript
화면전체에 눈 내리는 효과
1
|
| 19901 |
PHP
외부이미지 서버에 저장하기
1
|
| 19900 |
PHP
유튜브 api 사용하기
|
| 28145 | |
| 7815 | |
| 31002 | |
| 7803 | |
| 7799 | |
| 7785 | |
| 19898 | |
| 7780 | |
| 7779 | |
| 7777 | |
| 7776 | |
| 7775 | |
| 7758 | |
| 19893 | |
| 19892 | |
| 19891 | |
| 20850 |
도로명주소
다음 우편번호 api
2
|
| 19885 | |
| 7752 | |
| 7747 | |
| 7738 | |
| 19883 |
JavaScript
자바스크립트로 오버로딩 구현하기
1
|
| 7735 | |
| 28139 | |
| 7734 | |
| 7731 | |
| 7725 | |
| 7717 | |
| 19879 | |
| 7715 | |
| 7710 | |
| 19858 | |
| 7709 | |
| 7703 | |
| 28134 | |
| 28129 | |
| 7694 | |
| 7690 | |
| 28125 | |
| 7672 | |
| 7660 | |
| 28111 | |
| 19857 | |
| 19856 |
MySQL
사이트 관리자 비밀번호 재설정하기
|
| 7658 | |
| 28106 | |
| 28098 | |
| 7655 | |
| 28095 | |
| 7651 | |
| 19851 | |
| 7646 | |
| 19850 | |
| 24661 | |
| 28089 | |
| 7633 | |
| 7623 | |
| 28087 | |
| 28085 | |
| 7620 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기