Switch Statement
Coddy PHP 여정의 기초 섹션에 포함된 레슨 — 71개 중 32번째.
단일 변수를 여러 특정 값과 비교해야 할 때, switch statement는 긴 if-elseif 체인에 대한 더 깔끔한 대안을 제공합니다.
switch 문은 변수를 한 번 확인한 후 다양한 case 값들과 비교합니다:
<?php
$day = "Monday";
switch ($day) {
case "Monday":
echo "Start of the week";
break;
case "Friday":
echo "Almost weekend";
break;
case "Saturday":
case "Sunday":
echo "Weekend!";
break;
default:
echo "Regular day";
}
?>PHP는 $day를 각 case와 비교합니다. 일치하는 것을 찾으면 해당 블록의 코드를 실행합니다.
break 문은 매우 중요합니다—이는 매칭된 case를 실행한 후 PHP가 switch를 종료하도록 합니다. 이것이 없으면 PHP는 아래의 모든 코드를 계속 실행하며, 다른 case의 코드도 실행합니다.
토요일과 일요일이 case를 함께 쌓아서 동일한 코드를 공유하는 방식을 주목하세요. default case는 else처럼 작동합니다—다른 case가 일치하지 않을 때 실행됩니다.
<?php
$grade = "B";
switch ($grade) {
case "A":
echo "Excellent!";
break;
case "B":
echo "Good job!";
break;
default:
echo "Keep trying!";
}
?>하나의 변수를 여러 정확한 값과 비교할 때는 switch를 사용하세요. 복잡한 조건이나 범위의 경우에는 if-elseif 문을 사용하세요.
챌린지
쉬움입력에서 교통 신호등 색상을 나타내는 문자열 command을 읽으세요.
색상에 따라 적절한 조치를 결정하기 위해 switch 문을 사용하세요:
- command가
red인 경우Stop을 출력하세요 - command가
yellow인 경우Slow down을 출력하세요 - command가
green인 경우Go을 출력하세요 - command가
flashing red또는flashing yellow인 경우Proceed with caution을 출력하세요 - 기타 모든 값의 경우
Invalid signal을 출력하세요
예제:
입력값이 green인 경우 출력은 다음과 같아야 합니다:
Go입력값이 flashing red인 경우 출력은 다음과 같아야 합니다:
Proceed with caution입력값이 blue인 경우 출력은 다음과 같아야 합니다:
Invalid signal치트 시트
switch 문은 하나의 변수가 여러 특정 값과 비교될 때 더 깔끔한 방법을 제공합니다:
<?php
$day = "Monday";
switch ($day) {
case "Monday":
echo "Start of the week";
break;
case "Friday":
echo "Almost weekend";
break;
default:
echo "Regular day";
}
?>break 문은 일치하는 case를 실행한 후 switch를 종료합니다. 이를 사용하지 않으면 PHP는 후속 case의 코드를 계속 실행합니다.
여러 case를 쌓아서 동일한 코드를 공유할 수 있습니다:
<?php
switch ($day) {
case "Saturday":
case "Sunday":
echo "Weekend!";
break;
}
?>default case는 다른 case가 일치하지 않을 때 실행되며, else 문과 유사합니다.
하나의 변수를 여러 정확한 값과 비교할 때는 switch 문을 사용하세요. 복잡한 조건이나 범위의 경우 if-elseif 문을 대신 사용하세요.
직접 해보기
<?php
// 입력 읽기
$command = trim(fgets(STDIN));
// TODO: switch 문을 사용하여 아래에 코드를 작성하세요
// 신호등 색상에 따라 적절한 조치를 결정하세요
?>이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators