Menu
Coddy logo textTech

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 문을 사용하세요.

challenge icon

챌린지

쉬움

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은 다음과 같아야 합니다:

Go

input이 flashing red이면 output은 다음과 같아야 합니다:

Proceed with caution

input이 blue이면 output은 다음과 같아야 합니다:

Invalid signal

직접 해보기

<?php
// 입력 읽기
$command = trim(fgets(STDIN));

// TODO: switch 문을 사용하여 아래에 코드를 작성하세요
// 신호등 색상에 따라 적절한 동작을 결정하세요


?>
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: 온라인 PHP 컴파일러