• PHP
  • 常用語法介紹
  • 邏輯判斷式
  • import_contacts switch...case 條件選擇
    1953
適用範圍

類似 if...elseif...else 的用法與邏緝,當程式碼較多且繁雜時,會比較適合使用此方式。

實用性:
重要性:

是一種條件選擇的判斷式,用法與觀念和if elseif 非常的接近

以下範例將使用 if elseif 與 switch case 來做比較,具有相同的結果

if ($i=="apple"){echo "i is apple";}
elseif ($i=="bar"){echo "i is bar";}
elseif ($i=="cake"){echo "i is cake";}
else {echo "unknown"}

//以上的if elseif的判斷結果將會與下面使用switch相同

switch ($i) {
    case "apple":
        echo "i is apple";
        break;
    case "bar":
        echo "i is bar";
        break;
    case "cake":
        echo "i is cake";
        break;
    default:
        echo "unknown";
        break;
}

若三種結果輸出相同的資料,則不必每一個case都寫程式,如下範例,若 $beer為tuborg或carlsberg、heineken,都會輸出「好選擇」

switch($beer)
{
    case 'tuborg':
    case 'carlsberg':
    case 'heineken':
        echo '好選擇';
        break;
    default:
        echo '這不是一個好的選擇';
        break;
}

//若要改用if else來寫的話,則如下:

if ($beer=='tuborg' || $beer=='carlsberg' || $beer=='heineken'){
   echo '好選擇';
}else{
   echo '這不是一個好的選擇';
}

info 請注意,每個 case 裡面必需要有 break ,才會在執行完該組的程式碼之後跳出