PHP開發基礎教學之Switch
一、Switch語句
switch 語句用於根據多個不同條件執行不同動作。
如果您希望選擇性執行若干程式碼區塊之一,請使用 switch 語句。
語法:
switch (n)
{
case label1:
如果n=label1,此處程式碼將執行;
break;
case label2:
如果n=label2,此處程式碼將執行;
break;
default :
如果n 既不等於label1 也不等於label2,此處程式碼將執行;
}
註:
switch後放需要判斷的變量,而case後面是放結果。 switch後變值為多少,case的值寫的與switch變數執相同段的程式碼。
上面的default也是可選的,用於放置在沒有任何一項滿足條件時,執行該段代碼
上面的break是可選的,break 用於無條件結束各種循環
不要在case 後面寫成分號,後面是冒號:
不要在case後面寫判斷區間,如($foo > 20 或$foo == 30)
switch裡面在變數最好是整數,字串,因為布林判斷更適合if...else..
我們用流程圖來表示的話結果就如下圖所示:
#實例1:我們還是使用上一節的rand()函數,做一個類似拋硬幣選擇週末幹什麼的例子
源碼如下
<?php $num = rand(1,4); switch($num){ case 1: echo "周末宅在家吧"; break; case 2: echo "周末去爬大蜀山吧"; break; case 3: echo "周末去看电影吧"; break; case 4: echo "周末爱干啥干啥去"; break; } ?>
輸出結果請自己試試嘗試吧
#:試著把break從上往下一次去掉,看看輸出結果有什麼變化
實例2:利用date()函數,做一個簡單的星期判斷吧
註:Date() 函數把時間戳格式化為更容易讀取的日期和時間。
具體可參考PHP手冊,此處我們只利用date(“D”)獲得系統目前是星期幾
原始碼如下:
<?php //得到今天是星期几的英文简称 $day = date('D'); switch($day){ //拿公司举例,我们来创造一个上三休四的制度;让星期一、二、三是工作日 case 'Mon': case 'Tue': case 'Wed': echo '今天是工作日'; break; //星期四、五、六是休息日 case 'Thu': case 'Fri': case 'Sat': echo '今天是休息日'; break; //当都不满足是,必然是星期天,活动日 default: echo '今天是周末,活动日'; } ?>
註:可以自己試試,看看default的作用是什麼