先說說switch()語句的格式
switch(表達式){
case 匹配1:
當匹配1和表達式匹配成功執行的代碼;
break;
case 匹配2:
當匹配2和表達式匹配成功執行的代碼;
break;
default:
如果case語句沒有與表達式成功所執行的代碼;
}
理解 switch 是怎樣執行的非常重要。switch 語句一行接一行地執行(實際上是語句接語句)。開始時沒有代碼被執行。僅當一個 case 語句中的值和 switch 表達式的值匹配時 PHP 才開始執行語句,直到 switch 的程序段結束或者遇到第一個 break 語句為止。如果不在 case 的語句段最後寫上 break 的話,PHP 將繼續執行下一個 case 中的語句段。
例子:
復制代碼 代碼如下:
<?php
switch($i){
case 1:
echo "$i的值是1";
break;
case 2:
echo "$i的值是2";
break;
case 3:
echo "$i的值是3";
break;
default:
echo "$i的值不是1、2、3";
}
?>
在一個 case 中的語句也可以為空,這樣只不過將控制轉移到了下一個 case 中的語句,知道下一個case的語句塊不為空,這樣就實現了多個值匹配同意代碼塊:
當$i的值為1或2或3時輸出同一語句:
復制代碼 代碼如下:
<?php
switch($i){
case 1:
case 2:
case 3:
echo "$i的值為$i的值為1或2或3";
break;
}
?>