PHP開(kāi)發(fā)基礎(chǔ)教程之Switch
一、Switch語(yǔ)句
switch 語(yǔ)句用于根據(jù)多個(gè)不同條件執(zhí)行不同動(dòng)作。
如果您希望有選擇地執(zhí)行若干代碼塊之一,請(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變量執(zhí)相同段的代碼。
?上面的default也是可選的,用于放置在沒(méi)有任何一項(xiàng)滿足條件時(shí),執(zhí)行該段代碼
上面的break是可選的,break 用于無(wú)條件結(jié)束各種循環(huán)
?不要在case 后面寫成分號(hào),后面是冒號(hào):
?不要在case后面寫判斷區(qū)間,如($foo > 20 或者 $foo == 30)
?switch里面在變量最好是 整型,字符串,因?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 "周末愛(ài)干啥干啥去"; break; } ?>
輸出結(jié)果請(qǐng)自己嘗試嘗試吧
注:試著把break從上往下一次去掉,看看輸出結(jié)果有什么變化
實(shí)例2:利用date()函數(shù),做一個(gè)簡(jiǎn)單的星期判斷吧
注:Date() 函數(shù)把時(shí)間戳格式化為更易讀的日期和時(shí)間。
具體可參考PHP手冊(cè),此處我們只利用date(“D”)獲得系統(tǒng)當(dā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的作用是什么