Menu
Coddy logo textTech

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

challenge icon

챌린지

쉬움

입력에서 교통 신호등 색상을 나타내는 문자열 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 문을 사용하여 아래에 코드를 작성하세요
// 신호등 색상에 따라 적절한 조치를 결정하세요


?>
quiz icon실력 점검

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

기초의 모든 레슨