PHP開發(fā)基礎教程之Switch
一、Switch語句
switch 語句用于根據(jù)多個不同條件執(zhí)行不同動作。
如果您希望有選擇地執(zhí)行若干代碼塊之一,請使用 switch 語句。
語法:
switch (n)
{
case label1:
如果 n=label1,此處代碼將執(zhí)行;
break;
case label2:
如果 n=label2,此處代碼將執(zhí)行;
break;
default:
如果 n 既不等于 label1 也不等于 label2,此處代碼將執(zhí)行;
}
注:
switch后放需要判斷的變量,而case后是放結果。switch后變值為多少,case的值寫的與switch變量執(zhí)相同段的代碼。
上面的default也是可選的,用于放置在沒有任何一項滿足條件時,執(zhí)行該段代碼
上面的break是可選的,break 用于無條件結束各種循環(huán)
不要在case 后面寫成分號,后面是冒號:
不要在case后面寫判斷區(qū)間,如($foo > 20 或者 $foo == 30)
switch里面在變量最好是 整型,字符串,因為布爾判斷更適合if...else..
我們用流程圖來表示的話結果就如下圖所示:
實例1:我們還是使用上一節(jié)的rand()函數(shù),做一個類似拋硬幣選擇周末干什么的例子
源碼如下
<?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()函數(shù),做一個簡單的星期判斷吧
注:Date() 函數(shù)把時間戳格式化為更易讀的日期和時間。
具體可參考PHP手冊,此處我們只利用date(“D”)獲得系統(tǒng)當前是星期幾
源碼如下:
<?php //得到今天是星期幾的英文簡稱 $day = date('D'); switch($day){ //拿公司舉例,我們來創(chuàng)造一個上三休四的制度;讓星期一、二、三是工作日 case 'Mon': case 'Tue': case 'Wed': echo '今天是工作日'; break; //星期四、五、六是休息日 case 'Thu': case 'Fri': case 'Sat': echo '今天是休息日'; break; //當都不滿足是,必然是星期天,活動日 default: echo '今天是周末,活動日'; } ?>
注:可以自己試試,看看default的作用是什么