PHP教程
PHP Mysql
PHP面向对象
PHP常用

PHP Switch

PHP Switch

PHP switch 语句用于从多个条件执行一个语句。它的工作原理类似于 PHP if-else-if 语句。

语法

switch(expression){    
case value1:    
 //code to be executed
 break;
case value2:    
 //code to be executed
 break;
......    
default:     
 code to be executed if all cases are not matched;  
}

关于 switch case 的注意事项:

default 是可选语句。即使不重要,默认值也必须始终是最后一个语句。 一个 switch 语句中只能有一个 default。多次默认可能会导致致命错误。 每个 case 可以有一个 break 语句,用于终止语句序列。 break 语句在 switch 中是可选的。如果不使用 break,则所有语句将在找到匹配的 case 值后执行。 PHP 允许您在 switch 表达式中使用数字、字符、字符串以及函数。 允许嵌套 switch 语句,但它会使程序更复杂且可读性更低。 您可以使用分号(;) 代替冒号(:)。它不会产生任何错误。

PHP 切换流程图

php if 语句流程图

PHP 开关示例

<?php    
$num=20;    
switch($num){    
case 10:    
echo("number is equals to 10");    
break;    
case 20:    
echo("number is equal to 20");    
break;    
case 30:    
echo("number is equal to 30");    
break;    
default:    
echo("number is not equal to 10, 20 or 30");    
}   
?>
输出:
number is equal to 20

带字符的 PHP switch 语句

检查元音和辅音的程序
我们将把 switch 表达式中的一个字符传递给检查它是元音还是常数。如果传递的字符是 A、E、I、O 或 U,则为元音,否则为辅音。
<?php    
    $ch = 'U';
    switch ($ch)
    {   
        case 'a': 
            echo "Given character is vowel";
            break;
        case 'e': 
            echo "Given character is vowel";
            break;
        case 'i': 
            echo "Given character is vowel";
            break;
        case 'o': 
            echo "Given character is vowel";
            break;  
        case 'u': 
            echo "Given character is vowel";
            break;
        case 'A': 
            echo "Given character is vowel";
            break;
        case 'E': 
            echo "Given character is vowel";
            break;
        case 'I': 
            echo "Given character is vowel";
            break;
        case 'O': 
            echo "Given character is vowel";
            break;
        case 'U': 
            echo "Given character is vowel";
            break;
        default: 
            echo "Given character is consonant";
            break;
    }
?>  
输出:
Given character is vowel

PHP switch 语句与字符串

PHP 允许在 switch 表达式中传递字符串。让我们通过在 switch case 语句中传递字符串来看看下面的课程持续时间示例。
<?php    
    $ch = "B.Tech";
    switch ($ch)
    {   
        case "BCA": 
            echo "BCA is 3 years course";
            break;
        case "Bsc": 
            echo "Bsc is 3 years course";
            break;
        case "B.Tech": 
            echo "B.Tech is 4 years course";
            break;
        case "B.Arch": 
            echo "B.Arch is 5 years course";
            break;
        default: 
            echo "Wrong Choice";
            break;
    }
?>  
输出:
B.Tech is 4 years course

PHP switch 语句失败

PHP switch 语句失败。这意味着它会在获得第一个匹配后执行所有语句,如果没有找到 break 语句。
<?php    
    $ch = 'c';
    switch ($ch)
    {   
        case 'a': 
            echo "Choice a";
            break;
        case 'b': 
            echo "Choice b";
            break;
        case 'c': 
            echo "Choice c";   
            echo "</br>";
        case 'd': 
            echo "Choice d";
            echo "</br>";
        default: 
            echo "case a, b, c, and d is not found";
    }
?>  
输出:
Choice c
Choice d
case a, b, c, and d is not found

PHP 嵌套 switch 语句

嵌套 switch 语句表示 switch 语句在另一个 switch 语句中。有时会导致混乱。
<?php    
    $car = "Hyundai";                 
        $model = "Tucson";  
        switch( $car )  
        {  
            case "Honda":  
                switch( $model )   
                {  
                    case "Amaze":  
                           echo "Honda Amaze price is 5.93-9.79 Lakh."; 
                        break;  
                    case "City":  
                           echo "Honda City price is 9.91-14.31 Lakh.";  
                        break;   
                }  
                break;  
            case "Renault":  
                switch( $model )   
                {  
                    case "Duster":  
                        echo "Renault Duster price is 9.15-14.83 L.";
                        break;  
                    case "Kwid":  
                           echo "Renault Kwid price is 3.15-5.44 L.";
                        break;  
                }  
                break;  
            case "Hyundai":  
                switch( $model )   
                {  
                    case "Creta":  
                        echo "Hyundai Creta price is 11.42-18.73 L.";
                        break;  
        case "Tucson":  
                           echo "Hyundai Tucson price is 22.39-32.07 L.";
                        break; 
                    case "Xcent":  
                           echo "Hyundai Xcent price is 6.5-10.05 L.";
                        break;  
                }  
                break;   
        }
?>  
输出:
Hyundai Tucson price is 22.39-32.07 L.
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4