switch 語句類似於具有同一個表達式的一系列 if 語句。很多場合下需要把同一個變量(或表達式)與很多不同的值比較,並根據它等於哪個值來執行不同的代碼。這正是 switch 語句的用途。
使用switch 可以使代碼顯得更簡潔。
如下:
$a = '2';
switch ($a){
case 2 === $a:
echo '(int) 2<br />';
break;
case '2' === $a:
echo '(string) 2<br />';
break;
default:
echo 'no';
break;
}
輸出:(string) 2
使用switch 有幾個需要注意的點:
1. 每一個case之後應追加break;否則會進行連續判斷。舉個例子:
$a = '2';
switch ($a){
case 2 === $a:
echo '(int) 2<br />';
break;
case '2' === $a:
echo '(string-1) 2<br />';
// break;
case 2 == $a:
echo '(string-2) 2<br />';
break;
default:
echo 'no';
break;
}
輸出:
(string-1) 2
(string-2) 2
2. 使用強類型判斷,例子還是如上。 因PHP是弱類型語言,他會自動根據變量的值,自動把變量轉換爲正確
的數據類型。
請注意,不要因爲上面的原因,造成不必要的困擾。