在PHP中,default關鍵字需要和switch語句一起使用,用于基于不同的條件來執行不同的動作。switch語句是一個條件選擇語句,首先會找到滿足條件的case值做為執行后面的程序入口;若所有case都不滿足,則找default入口,若未找到則退出整個switch語句。default是一個備用入口,但為了進行錯誤或邏輯檢查,應該在switch語句中加入default分支。
本教程操作環境:windows7系統、PHP8版、DELL G3電腦
在PHP中,default關鍵字需要和switch語句一起使用。
switch語句可以用于基于不同的條件來執行不同的動作。switch語句是一個條件選擇語句,首先會找到滿足條件的case值做為執行后面的程序入口;若所有的case都不滿足,則找default入口,若未找到則退出整個switch語句;所以default只是一個備用的入口,有沒有都無所謂。但是為了進行錯誤檢查或邏輯檢查,還是應該在switch語句中加入default分支。
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 語句的執行流程如下圖所示:
示例:使用 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; } ?>
擴展知識:
在使用 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 語句中必需的,可以省略。
推薦學習:《PHP視頻教程》