switch 語句類似於同一個表達式的一系列 if 語句。很多場合下需要把同一個變數(或表達式)與很多不同的值比較,並根據它等於哪個值來執行不同的程式碼。這正是 switch 語句的用途。
switch()語句的格式
switch(表达式){ case 匹配1: 当匹配1和表达式匹配成功执行的代码; break; case 匹配2: 当匹配2和表达式匹配成功执行的代码; break; default: 如果case语句没有与表达式成功所执行的代码; }
理解 switch 是怎麼執行的非常重要。 switch 語句一行接一行地執行(其實是語句接語句)。開始時沒有程式碼被執行。只有當一個 case 語句中的值和 switch 表達式的值匹配時 PHP 才開始執行語句,直到 switch 的程式段結束或遇到第一個 break 語句為止。如果不在 case 的語句段最後寫上 break 的話,PHP 會繼續執行下一個 case 中的語句段。
工作原理:
對表達式(通常是變數)進行一次計算
把表達式的值與結構中case 的值進行比較
如果存在匹配,則執行與case 關聯的程式碼
程式碼執行後,break 語句阻止程式碼跳入下一個case 中繼續執行
如果沒有case 為真,則使用default 語句
實例:
<?php switch ($x) { case 1: echo "Number 1"; break; case 2: echo "Number 2"; break; case 3: echo "Number 3"; break; default: echo "No number between 1 and 3"; } ?>
在一個case 中的語句也可以為空,這樣只不過將控制轉移到了下一個case 中的語句,知道下一個case的語句塊不為空,這樣就實現了多個值匹配同意代碼塊:
當$i的值為1或2或3時輸出相同語句:
<?php switch($i){ case 1: case 2: case 3: echo "$i的值为$i的值为1或2或3"; break; } ?>
以上是php switch語句基本上使用與擴充使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!