우리가 어떤 조건문을 기술할 때 일반적으로 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보다 작습니다. 라고 나오겠죠.
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 230 | 20년 전 | 2069 | ||
| 229 | 20년 전 | 3144 | ||
| 228 | 20년 전 | 3327 | ||
| 227 | 20년 전 | 2402 | ||
| 226 | 20년 전 | 5485 | ||
| 225 | 20년 전 | 2527 | ||
| 224 | 20년 전 | 2971 | ||
| 223 | 20년 전 | 4209 | ||
| 222 | 20년 전 | 2609 | ||
| 221 | 20년 전 | 2291 | ||
| 220 | 20년 전 | 3680 | ||
| 219 | 20년 전 | 2080 | ||
| 218 | 20년 전 | 3568 | ||
| 217 | 20년 전 | 2487 | ||
| 216 | 20년 전 | 2919 | ||
| 215 | 20년 전 | 2228 | ||
| 214 | 20년 전 | 3339 | ||
| 213 | 20년 전 | 2922 | ||
| 212 | 20년 전 | 3055 | ||
| 211 | 20년 전 | 2149 | ||
| 210 | 20년 전 | 1903 | ||
| 209 | 20년 전 | 2362 | ||
| 208 | 20년 전 | 1983 | ||
| 207 | 20년 전 | 1680 | ||
| 206 | 20년 전 | 1857 | ||
| 205 | 20년 전 | 3953 | ||
| 204 | 20년 전 | 1679 | ||
| 203 | 20년 전 | 2014 | ||
| 202 | 20년 전 | 2360 | ||
| 201 | 20년 전 | 1830 | ||
| 200 | 20년 전 | 2960 | ||
| 199 | 20년 전 | 2006 | ||
| 198 | 20년 전 | 2091 | ||
| 197 | 20년 전 | 3655 | ||
| 196 | 20년 전 | 2990 | ||
| 195 | 20년 전 | 2099 | ||
| 194 | 20년 전 | 10254 | ||
| 193 | 20년 전 | 2248 | ||
| 192 | 20년 전 | 1608 | ||
| 191 | 20년 전 | 2673 | ||
| 190 | 20년 전 | 2297 | ||
| 189 | 20년 전 | 1690 | ||
| 188 | 20년 전 | 1487 | ||
| 187 | 20년 전 | 1912 | ||
| 186 | 20년 전 | 1733 | ||
| 185 | 20년 전 | 1772 | ||
| 184 | 20년 전 | 2364 | ||
| 183 | 20년 전 | 1568 | ||
| 182 | 20년 전 | 1488 | ||
| 181 | 20년 전 | 1628 | ||
| 180 | 20년 전 | 2727 | ||
| 179 | 20년 전 | 1811 | ||
| 178 | 20년 전 | 1863 | ||
| 177 | 20년 전 | 1987 | ||
| 176 | 20년 전 | 1809 | ||
| 175 | 20년 전 | 1873 | ||
| 174 | 20년 전 | 1694 | ||
| 173 | 20년 전 | 2061 | ||
| 172 | 20년 전 | 1789 | ||
| 171 | 20년 전 | 2570 | ||
| 170 | 20년 전 | 2277 | ||
| 169 | 20년 전 | 2556 | ||
| 168 | 20년 전 | 1491 | ||
| 167 | 20년 전 | 1581 | ||
| 166 | 20년 전 | 2160 | ||
| 165 | 20년 전 | 1637 | ||
| 164 | 20년 전 | 3773 | ||
| 163 | 20년 전 | 2671 | ||
| 162 | 20년 전 | 2092 | ||
| 161 | 20년 전 | 2799 | ||
| 160 | 20년 전 | 1738 | ||
| 159 | 20년 전 | 1619 | ||
| 158 | 20년 전 | 2570 | ||
| 157 | 20년 전 | 1491 | ||
| 156 | 20년 전 | 1745 | ||
| 155 | 20년 전 | 3235 | ||
| 154 | 20년 전 | 1904 | ||
| 153 | 20년 전 | 1627 | ||
| 152 | 20년 전 | 4958 | ||
| 151 | 20년 전 | 4580 | ||
| 150 | 20년 전 | 3517 | ||
| 149 | 20년 전 | 3805 | ||
| 148 | 20년 전 | 7080 | ||
| 147 | 20년 전 | 3555 | ||
| 146 | 20년 전 | 2629 | ||
| 145 | 20년 전 | 2624 | ||
| 144 | 20년 전 | 7171 | ||
| 143 | 20년 전 | 4606 | ||
| 142 | 20년 전 | 1902 | ||
| 141 | 20년 전 | 3253 | ||
| 140 | 20년 전 | 1965 | ||
| 139 | 20년 전 | 1588 | ||
| 138 | 20년 전 | 2314 | ||
| 137 | 20년 전 | 1785 | ||
| 136 | 20년 전 | 1461 | ||
| 135 | 20년 전 | 1791 | ||
| 134 | 20년 전 | 2972 | ||
| 133 | 20년 전 | 2456 | ||
| 132 | 20년 전 | 1709 | ||
| 131 | 20년 전 | 1649 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기