首頁 >後端開發 >PHP問題 >switch在php中的用法是什麼

switch在php中的用法是什麼

青灯夜游
青灯夜游原創
2021-12-09 18:41:336140瀏覽

在php中,switch語句用於根據多個不同條件執行不同動作,語法「switch(表達式){case 值1:語句區塊1;break;...case 值n:語句區塊n;break;default:語句塊n 1;}”;表達式的值只能是整數或字串。

switch在php中的用法是什麼

本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦

PHP Switch 語句

switch 語句用於根據多個不同條件執行不同動作。

switch 語句由一個表達式和多個 case 標籤組成,case 標籤後面跟著一個程式碼區塊,case 標籤作為這個程式碼區塊的標識。 switch 語句的語法格式如下:

switch(表达式){
    case 值 1:
        语句块 1;
        break;
    case 值 2:
        语句块 2;
        break;
    ... ...
    case 值 n:
        语句块 n;
        break;
    default:
        语句块 n+1;
}

switch 語句會根據表達式的值,依序與case 中的值進行比較,如果不相等,繼續找出下一個case;如果相等,就會執行對應的語句,直到switch 語句結束或遇到break 為止。

一般來說,switch 語句最終都有一個預設值 default,如果在前面的 case 中沒有找到相符的條件,則執行預設語句,和 else 語句類似。

switch 語句的執行流程如下圖所示:

switch在php中的用法是什麼

#在使用switch 語句時應該注意以下幾點:

  • 和if 語句不同的是,switch 語句後面表達式的資料型別只能是整數或字串,不能是bool 型。通常這個表達式是一個變數名稱,雖然PHP 是弱類型語言,在switch 後面表達式的變數可以是任意類型數據,但為了確保匹配執行的準確性,最好只使用整型或字串中的一種類型。

  • 和 if 語句不同的是,switch 語句後面的花括號是必須有的。

  • case 語句的個數沒有規定,可以無限增加。但 case 標籤和 case 標籤後面的值之間應該有一個空格,值後面必須有一個冒號,這是語法的一部分。

  • switch 符合完成以後,將依序逐條執行符合的分支模組中的語句,直到 switch 結構結束或遇到了 break 語句才停止執行。所以,如果一個分支語句的後面沒有寫上 break 語句,程式就會繼續執行下一個分支語句的內容。

  • 與if 語句中的else 類似,switch 語句中default 標籤直接在後面加上一個冒號,看似沒有條件,其實是有條件的,條件就是“表達式”的值不能與前面任何一個case 標籤後的值相等,這時才執行default 分支中的語句。 default 標籤和 if 中的 else 子句一樣,它不是 switch 語句中必需的,可以省略。

【範例】使用date() 函數取得目前星期的英文縮寫,根據縮寫列印今天是星期幾,程式碼如下所示:

<?php
header("content-type:text/html;charset=utf-8");
$week = date(&#39;D&#39;);
switch($week) {
	case &#39;Mon&#39; :
		echo &#39;星期一&#39;;
		break;
	case &#39;Tue&#39; :
		echo &#39;星期二&#39;;
		break;
	case &#39;Wed&#39; :
		echo &#39;星期三&#39;;
		break;
	case &#39;Thu&#39; :
		echo &#39;星期四&#39;;
		break;
	case &#39;Fri&#39; :
		echo &#39;星期五&#39;;
		break;
	case &#39;Sat&#39; :
		echo &#39;星期六&#39;;
		break;
	case &#39;Sun&#39; :
		echo &#39;星期日&#39;;
		break;
}
?>

運行結果如下:

switch在php中的用法是什麼

switch在php中的用法是什麼

推薦學習:《PHP影片教學

以上是switch在php中的用法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn