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..

我們用流程圖來表示的話結果就如下圖所示:

14.png

#實例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的作用是什麼


繼續學習
||
<?php $num = rand(1,4); switch($num){ case 1: echo "周末宅在家吧"; break; case 2: echo "周末去爬大蜀山吧"; break; case 3: echo "周末去看电影吧"; break; case 4: echo "周末爱干啥干啥去"; break; } ?>