是一種條件選擇的判斷式,用法與觀念和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 ,才會在執行完該組的程式碼之後跳出