先說說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; } ?>