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