PHP switch 範例一、基本判斷
<?php
$i='1';
switch ($i) {
case 0:
echo "變數是 0";
break;
case 1:
echo "變數是 1";
break;
case 2:
echo "變數是 2";
break;
}
?>
範例輸出$i='1';
switch ($i) {
case 0:
echo "變數是 0";
break;
case 1:
echo "變數是 1";
break;
case 2:
echo "變數是 2";
break;
}
?>
變數是 1
用 switch 判斷數字變數是相當容易的事情,範例中每個 case 接的數字會與變數 $i 做比較,如果與 $i 相同,就會執行程式碼,在此就是輸出字串,接著 break 跳出整個判斷式,switch 的執行流程是依序執行每個 case 判斷,當判斷到符合的條件,就跳出 switch。PHP switch 範例二、判斷字串
<?php
$i='蘋果';
switch ($i) {
case "蘋果":
echo "變數是蘋果";
break;
case "香蕉":
echo "變數是香蕉";
break;
case "水梨":
echo "變數是水梨";
break;
}
?>
範例輸出$i='蘋果';
switch ($i) {
case "蘋果":
echo "變數是蘋果";
break;
case "香蕉":
echo "變數是香蕉";
break;
case "水梨":
echo "變數是水梨";
break;
}
?>
變數是蘋果
這個範例是展示 switch 判斷字串的方式,與範例一判斷數字很類似,但要注意的是字串必須用單引號('')或雙引號("")包起來,否則很可能會出現無法判斷的情況,另外程式本身的編碼也必須能夠判斷繁體中文才可以,例如 utf-8 萬國碼。PHP switch 範例三、switch 與 if else 的比較
<?php
$i='1';
if($i=='0'){
echo '變數是 0';
}elseif($i=='1'){
echo '變數是 1';
}elseif($i=='2'){
echo '變數是 2';
}
echo ' ; ';
switch ($i) {
case 0:
echo "變數是 0";
break;
case 1:
echo "變數是 1";
break;
case 2:
echo "變數是 2";
break;
}
?>
範例輸出$i='1';
if($i=='0'){
echo '變數是 0';
}elseif($i=='1'){
echo '變數是 1';
}elseif($i=='2'){
echo '變數是 2';
}
echo ' ; ';
switch ($i) {
case 0:
echo "變數是 0";
break;
case 1:
echo "變數是 1";
break;
case 2:
echo "變數是 2";
break;
}
?>
變數是 1 ; 變數是 1
這個範例中有兩組判斷式,原則上呈現的結果是一樣的。PHP switch 範例四、使用 default
<?php
$i='2';
switch ($i) {
case 0:
echo "變數是 0";
break;
case 1:
echo "變數是 1";
break;
default:
echo "沒有相符合的結果";
}
?>
範例輸出$i='2';
switch ($i) {
case 0:
echo "變數是 0";
break;
case 1:
echo "變數是 1";
break;
default:
echo "沒有相符合的結果";
}
?>
沒有相符合的結果
如果每個 case 都沒有符合的結果該怎麼辦?PHP switch 預設的結果是什麼都不執行,但我們希望可以在比對後,至少告訴我們沒有比對到相符合的結果,就可以在 switch 流程的最後加上 default 並加入顯示提示字串的方式來做到,有點類似 if elseif 最後一個 else,讓整個 switch 至少顯示一個最終結果。延伸閱讀