📚 PHP 초급 - 4주차 - 02 switch 문
2025. 6. 28. 08:19ㆍ프로그램/PHP 초급
📚 PHP 초급 - 4주차 - 02 switch 문

안녕하세요! PHP 초급 강좌 4주차 두 번째 시간입니다. 지난 시간에는 다양한 #연산자에 대해 알아보았는데요. 이번 시간에는 조건문 중 하나인 #switch 문에 대해 자세히 알아보겠습니다.
1. switch 문이란?
#switch 문은 하나의 변수나 표현식의 값에 따라 여러 코드 블록 중 하나를 실행할 때 사용되는 #조건문입니다. #if-else if-else 문과 유사하지만, 특정 값이 명확하게 정해져 있을 때 더욱 간결하고 가독성 좋은 코드를 작성할 수 있습니다.

2. switch 문의 기본 구조

#switch 문의 기본 구조는 다음과 같습니다.
PHP
<?php
switch (변수 또는 표현식) {
case 값1:
// 변수 또는 표현식이 값1일 때 실행될 코드
break;
case 값2:
// 변수 또는 표현식이 값2일 때 실행될 코드
break;
case 값3:
// 변수 또는 표현식이 값3일 때 실행될 코드
break;
default:
// 위의 어떤 case에도 해당하지 않을 때 실행될 코드
break;
}
?>
- switch (변수 또는 표현식): 비교할 변수나 표현식을 지정합니다.
- case 값: switch 괄호 안의 값과 일치하는 경우 해당 case 블록 내의 코드가 실행됩니다.
- break: 해당 case 블록의 실행을 중단하고 switch 문을 빠져나가게 합니다. #break 문이 없으면 일치하는 case 이후의 모든 case가 연달아 실행됩니다. (이를 fall-through라고 합니다.)
- default: 어떤 case에도 일치하는 값이 없을 때 실행되는 선택적 블록입니다. #else 문과 유사한 역할을 합니다.
3. switch 문 예제

예제 1: 요일에 따른 메시지 출력
PHP
<?php
$day = "월요일";
switch ($day) {
case "월요일":
echo "한 주의 시작입니다! 힘내세요.";
break;
case "수요일":
echo "수요일은 수수하게! 벌써 주중이네요.";
break;
case "금요일":
echo "불금! 주말이 기다려집니다.";
break;
default:
echo "오늘은 평범한 하루입니다.";
break;
}
?>
위 코드에서는 $day 변수의 값에 따라 다른 메시지를 출력합니다. 만약 $day가 "화요일"이라면 default 블록의 메시지가 출력됩니다.
예제 2: 점수에 따른 학점 부여
PHP
<?php
$score = 85;
$grade = '';
switch (true) { // true를 사용하여 조건식을 활용
case ($score >= 90):
$grade = "A학점";
break;
case ($score >= 80):
$grade = "B학점";
break;
case ($score >= 70):
$grade = "C학점";
break;
case ($score >= 60):
$grade = "D학점";
break;
default:
$grade = "F학점";
break;
}
echo "점수: " . $score . "점, 학점: " . $grade;
?>
이 예제에서는 switch (true)를 사용하여 각 case에 조건식을 넣었습니다. 이렇게 하면 특정 범위의 값에 따라 다른 동작을 수행하도록 만들 수 있습니다.
4. switch 문 사용 시 주의할 점

- break 문의 중요성: #break 문을 생략하면 의도치 않게 여러 #case 블록이 실행될 수 있습니다. 이를 #fall-through라고 하며, 특정 상황에서 유용하게 사용될 수도 있지만, 일반적으로는 명시적으로 #break를 사용하는 것이 좋습니다.
- 동등 연산자 (==) 사용: #switch 문은 #값을 비교할 때 #느슨한 동등 연산자(==)를 사용합니다. 즉, 데이터 타입이 달라도 값이 같으면 일치한다고 판단합니다. 엄격한 비교(===)가 필요하다면 #if 문을 사용하는 것이 더 적합할 수 있습니다.
- 복잡한 조건은 if 문으로: #switch 문은 단일 값에 대한 비교에 최적화되어 있습니다. 여러 조건이 복합적으로 얽혀 있거나, 범위 비교 등 복잡한 논리가 필요한 경우에는 #if-else if-else 문을 사용하는 것이 가독성 및 유지보수 측면에서 더 좋습니다.
이번 시간에는 #PHP의 #switch 문에 대해 자세히 알아보았습니다. 특정 값에 따른 분기 처리가 필요할 때 #switch 문을 사용하여 코드를 더욱 간결하고 효율적으로 작성할 수 있습니다. 다음 시간에는 반복문에 대해 알아보겠습니다.
'프로그램 > PHP 초급' 카테고리의 다른 글
| 📚 PHP 초급 - 4주차 - 04 foreach 문 (배열에 특화) (0) | 2025.06.28 |
|---|---|
| 📚 PHP 초급 - 4주차 - 03 for, while, do-while 문 (0) | 2025.06.28 |
| 📚 PHP 초급 - 4주차 - 01 if, else if, else 문: 코드의 흐름을 제어하는 조건문 (0) | 2025.06.27 |
| 📚 PHP 초급 - 3주차 - 04 Null 병합 연산자 (??): 변수 존재 여부 간결하게 확인하기 (0) | 2025.06.27 |
| 📚 PHP 초급 - 3주차 - 03 오류 제어 연산자 (@): 오류 메시지 숨기기 (0) | 2025.06.27 |