在php中,switch語句用於根據多個不同條件執行不同動作,語法「switch(表達式){case 值1:語句區塊1;break;...case 值n:語句區塊n;break;default:語句塊n 1;}”;表達式的值只能是整數或字串。
本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦
PHP Switch 語句
switch 語句用於根據多個不同條件執行不同動作。
switch 語句由一個表達式和多個 case 標籤組成,case 標籤後面跟著一個程式碼區塊,case 標籤作為這個程式碼區塊的標識。 switch 語句的語法格式如下:
switch(表达式){ case 值 1: 语句块 1; break; case 值 2: 语句块 2; break; ... ... case 值 n: 语句块 n; break; default: 语句块 n+1; }
switch 語句會根據表達式的值,依序與case 中的值進行比較,如果不相等,繼續找出下一個case;如果相等,就會執行對應的語句,直到switch 語句結束或遇到break 為止。
一般來說,switch 語句最終都有一個預設值 default,如果在前面的 case 中沒有找到相符的條件,則執行預設語句,和 else 語句類似。
switch 語句的執行流程如下圖所示:
#在使用switch 語句時應該注意以下幾點:
和if 語句不同的是,switch 語句後面表達式的資料型別只能是整數或字串,不能是bool 型。通常這個表達式是一個變數名稱,雖然PHP 是弱類型語言,在switch 後面表達式的變數可以是任意類型數據,但為了確保匹配執行的準確性,最好只使用整型或字串中的一種類型。
和 if 語句不同的是,switch 語句後面的花括號是必須有的。
case 語句的個數沒有規定,可以無限增加。但 case 標籤和 case 標籤後面的值之間應該有一個空格,值後面必須有一個冒號,這是語法的一部分。
switch 符合完成以後,將依序逐條執行符合的分支模組中的語句,直到 switch 結構結束或遇到了 break 語句才停止執行。所以,如果一個分支語句的後面沒有寫上 break 語句,程式就會繼續執行下一個分支語句的內容。
與if 語句中的else 類似,switch 語句中default 標籤直接在後面加上一個冒號,看似沒有條件,其實是有條件的,條件就是“表達式”的值不能與前面任何一個case 標籤後的值相等,這時才執行default 分支中的語句。 default 標籤和 if 中的 else 子句一樣,它不是 switch 語句中必需的,可以省略。
【範例】使用date() 函數取得目前星期的英文縮寫,根據縮寫列印今天是星期幾,程式碼如下所示:
<?php header("content-type:text/html;charset=utf-8"); $week = date('D'); switch($week) { case 'Mon' : echo '星期一'; break; case 'Tue' : echo '星期二'; break; case 'Wed' : echo '星期三'; break; case 'Thu' : echo '星期四'; break; case 'Fri' : echo '星期五'; break; case 'Sat' : echo '星期六'; break; case 'Sun' : echo '星期日'; break; } ?>
運行結果如下:
推薦學習:《PHP影片教學》
以上是switch在php中的用法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!