Skip to content

6.2 switch case

switch 语句是一种多分支条件控制语句,用于根据变量的值选择执行不同的代码块。

基本语法

php
switch (表达式) {
    case 值1:
        // 表达式等于值1时执行的代码
        break;
    case 值2:
        // 表达式等于值2时执行的代码
        break;
    // 可以有多个case
    default:
        // 表达式不等于任何case值时执行的代码
}

示例代码

php
<?php
// 基本switch语句
$day = 3;
switch ($day) {
    case 1:
        echo "今天是星期一<br>";
        break;
    case 2:
        echo "今天是星期二<br>";
        break;
    case 3:
        echo "今天是星期三<br>";
        break;
    case 4:
        echo "今天是星期四<br>";
        break;
    case 5:
        echo "今天是星期五<br>";
        break;
    case 6:
    case 7:
        echo "今天是周末<br>";
        break;
    default:
        echo "无效的日期<br>";
}

// 使用字符串作为case值
$color = "red";
switch ($color) {
    case "red":
        echo "红色<br>";
        break;
    case "green":
        echo "绿色<br>";
        break;
    case "blue":
        echo "蓝色<br>";
        break;
    default:
        echo "未知颜色<br>";
}

// 不使用break的情况(穿透)
$grade = "A";
switch ($grade) {
    case "A":
        echo "优秀<br>";
    case "B":
        echo "良好<br>";
    case "C":
        echo "及格<br>";
        break;
    default:
        echo "不及格<br>";
}
?>

注意事项

  1. switch 后的表达式会与每个 case 的值进行比较,使用的是 == 比较(不是 ===
  2. 每个 case 后必须使用 break 语句,否则会继续执行下一个 case(穿透现象)
  3. default 分支是可选的,当没有匹配的 case 时执行
  4. 可以在多个 case 后共享同一代码块(如示例中的周末处理)

练习

  1. 编写一个程序,根据月份输出对应的季节
  2. 编写一个程序,根据用户输入的操作符执行相应的操作

© 2026 编程马·菜鸟教程 版权所有