php switch語句語法實例和與ifelse的效率比較
Switch語句也是物件導向程式設計語句中最長常見的邏輯控制語句了。 Switch 語句用於執行基於多個不同條件的不同動作 – 即當條件不同的時候,執行不同的邏輯操作。 它跟其他語句中的switch用法差不多的,但注意有一個break語句。
PHP中switch語句的標準語法:
switch (expression) { case label1: code to be executed if expression = label1; break; case label2: code to be executed if expression = label2; break; default: code to be executed if expression is different from both label1 and label2; }
範例:
switch($i){ case 1: echo 1; break; case 2: echo 2; break; default: echo 'others'; }
也可以使用switch來判斷一個取值範圍,或者說是在case中自訂條件。
<?php header("content-type:text/html;charset=utf8"); $score=50; switch($score) { case $score>=90 && $score<=100: echo "优<br>"; break; case $score>=80 && $score<90: echo "良<br>"; break; case $score>=70 && $score<80: echo "中<br>"; break; case $score>=60 && $score<70: echo "及格<br>"; break; case $score>=0 && $score<60: echo "不及格<br>"; break; default: echo"成绩输入错误<br>"; } ?>
簡單範例
<?php //switch细节 //情况一:数值匹配的时候自动转换成字串 $a=1; switch($a){ case "1": echo 'hello1'; break; default: echo 'sorry none is the same!'; break; } echo '<br/>'.'成功退出····'; echo '<hr/>'; //情况二:数值匹配的时候自动转换成字符 $a=1; switch($a){ case '1': echo 'hello2'; break; default: echo 'sorry none is the same!'; break; } echo '<br/>'.'成功退出····'; echo '<hr/>'; //情况三:字符匹配的时候自动转换成数值 $a='1'; switch($a){ case 1: echo 'hello3'; break; default: echo 'sorry none is the same!'; break; } echo '<br/>'.'成功退出····'; echo '<hr/>'; //情况四:字串匹配的时候自动转换成数值 $a="1"; switch($a){ case 1: echo 'hello4'; break; default: echo 'sorry none is the same!'; break; } echo '<br/>'.'成功退出····'; echo '<hr/>'; //情况五:float也可以匹配 $a=1.1; switch($a){ case 1.1: echo 'hello5'; break; default: echo 'sorry none is the same!'; break; } echo '<br/>'.'成功退出····'; echo '<hr/>'; //情况六:非0是true $a=true; switch($a){ case 1: echo 'hello6'; break; case true: echo 'hello61'; break; default: echo 'sorry none is the same!'; break; } echo '<br/>'.'成功退出····'; echo '<hr/>'; //情况七:能匹配boolean $a=true; switch($a){ case true: echo 'hello7'; break; case 2: echo 'hello71'; break; default: echo 'sorry none is the same!'; break; } echo '<br/>'.'成功退出····'; echo '<hr/>'; //情况八:能匹配null $a=null; switch($a){ case 2://'' "" false 0 都能进入 echo 'hello8'; break; case null: echo 'hello81'; break; default: echo 'sorry none is the same!'; break; } echo '<br/>'.'成功退出····'; echo '<hr/>'; //情况九:退出顺序 $a=5; switch($a){ case 1: echo 'hello6'; break; case 2: echo '我是2号出口'; break; case 5: echo '我是5号出口'; //break; case true: echo 'hello61'; break; default: echo 'sorry none is the same!'; break; } echo '<br/>'.'成功退出····'; echo '<hr/>'; //情况十:退出顺序 $a=50; switch($a){ default: echo 'sorry none is the same!'; //break; case 50: echo 'hello6'; //break; case 2: echo '我是2号出口'; break; case 5: echo '我是5号出口'; //break; case 6: echo 'hello61'; break; } echo '<br/>'.'成功退出····'; echo '<hr/>'; ?>
運行結果
hello1 成功退出···· hello2 成功退出···· hello3 成功退出···· hello4 成功退出···· hello5 成功退出···· hello6 成功退出···· hello7 成功退出···· hello81 成功退出···· 我是5号出口hello61 成功退出···· hello6我是2号出口 成功退出····
不管寫什麼語言的程序,一定會考慮到程式碼的運行效率問題。在查閱了一些資料後,switch與ifelse在不同的‘環境'下效率各有優勝。
1、當被判斷的值是常數(固定不變的值)時,switch的運作效率比ifelse的運作效率高;
$changliang=3; // 变判断的值为常量 switch($changliang){ case 1: echo '常量值为1'; break; // 跳出循环 case 2: echo '常量值为2'; break; case 3: echo '常量值为3'; break; }
2、當被判斷值為變量,ifelse的運行效率高於switch,ifelse貫徹一判到底的方針,會從第一個條件開始判斷,直到最後一個else,所以學會使用switch有好處;
$a = $_GET['a']; // 通过get传值后接值; 被判断的值 if($a=1){ echo '变量a的值为1'; }elseif($a=2){ echo '变量a的值为2'; }elseif($a=3){ echo '变量a的值为3'; }else{ echo '变量a的值为不知道'; }
以上是php switch語句語法實例和與ifelse的效率比較的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

在PHP8 中,match表達式是一種新的控制結構,用於根據表達式的值返回不同的結果。 1)它類似於switch語句,但返回值而非執行語句塊。 2)match表達式使用嚴格比較(===),提升了安全性。 3)它避免了switch語句中可能的break遺漏問題,增強了代碼的簡潔性和可讀性。

在PHP中可以通過使用不可預測的令牌來有效防範CSRF攻擊。具體方法包括:1.生成並在表單中嵌入CSRF令牌;2.在處理請求時驗證令牌的有效性。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

如何在JavaScript中將具有相同ID的數組元素合併到一個對像中?在處理數據時,我們常常會遇到需要將具有相同ID�...
