Switch語句也是面向對象編程語句中最長常見的邏輯控制語句了。Switch 語句用于執行基于多個不同條件的不同動作 – 即當條件不同的時候,執行不同的邏輯操作。
本文介紹php中的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號出口
- 成功退出····
新聞熱點
疑難解答