Switch 문
Coddy PHP 여정의 기초 섹션에 포함된 레슨. 71개 중 32번째.
하나의 변수를 여러 특정 값과 비교해야 할 때 switch 문은 긴 if-elseif 체인을 대신하는 더 깔끔한 방법을 제공합니다.
switch statement는 변수를 한 번 확인한 다음 서로 다른 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에 속한 코드까지 포함하여 아래의 모든 코드를 계속 실행합니다.
Saturday와 Sunday가 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 문을 사용하세요.
챌린지
쉬움traffic light 색상을 나타내는 문자열 command를 input에서 읽습니다.
색상을 based on appropriate action을 Determine하기 위해 switch statement를 사용합니다:
- command가
red이면Stop을 출력합니다. - command가
yellow이면Slow down을 출력합니다. - command가
green이면Go를 출력합니다. - command가
flashing red또는flashing yellow이면Proceed with caution을 출력합니다. - 그 외의 값이면
Invalid signal을 출력합니다.
예시:
input이 green이면 output은 다음과 같아야 합니다:
Goinput이 flashing red이면 output은 다음과 같아야 합니다:
Proceed with cautioninput이 blue이면 output은 다음과 같아야 합니다:
Invalid signal직접 해보기
<?php
// 입력 읽기
$command = trim(fgets(STDIN));
// TODO: switch 문을 사용하여 아래에 코드를 작성하세요
// 신호등 색상에 따라 적절한 동작을 결정하세요
?>이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: 온라인 PHP 컴파일러