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 开关示例
<?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");
}
?>
输出:
带字符的 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;
}
?>
输出:
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;
}
?>
输出:
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.