Backend/php

[PHP 기초] switch 조건문

민57 2020. 3. 3. 16:28
switch 조건문

한 번에 여러 개의 조건문을 사용하고 조건에 따라 명령문이 달라야 하는 경우에 사용한다.

구성은 아래와 같다.

switch(변수) {
    case 비교 값 또는 조건:
    // 명령문
    break;
    
    default:
    // 일치 내용문 없을 때 (if문의 else처럼)
    break;
}

 

case 수의 제한은 없다. 마지막에 default만 넣어주면 된다.

조건마다 break문을 넣어야 다음 case문을 확인하지 않고 switch문을 빠져나오게 된다.

 

<?php
    $score = 85;
    $grade = floor($score/10);

    switch($grade) {
        case 10:
            echo "등급 A";
        break;

        case 9:
            echo "등급 B";
        break;

        case 8:
            echo "등급 C";
        break;

        default:
            echo "등급 F"; 
    }
?>

score가 85점이라고 가정했을 때, 성적을 처리하기 위해서 10으로 나누고 floor 함수로 소수점을 정리해준다.

1부터 10까지의 수가 변수 grade에 대입되고 그 수를 이용하여 switch 문으로 조건을 비교한다.

 

 

Result

등급 C

 

 

 


 

 

switch문의 case문에 조건 사용하기

case 문에 조건을 사용하면 위의 방법보다 더욱 쉽게 할 수 있다.

자바의 switch문에서는 조건문을 사용할 수 없다.

 

<?php
    $score = 95; 

    switch($score) {
        case ($score >= 100 ):
            echo "등급 A";
        break;

        case ($score < 100 && $score >= 90):
            echo "등급 B";
        break;

        case ($score < 90 && $score >= 80):
            echo "등급 C";
        break;

        default:
            echo "등급 F"; 
    }
?>

 

Result

등급 B
728x90