控制构造(Control Structures)


switch语句

switch语句也叫switch-case语句,结构上与if语句非常相似。主要在希望将一个表达式与多个值比较并希望执行各个命令语句时使用。 使用default可定义switch语句的表现式与所有case值不同时的基本命令语句。

语法构造 说明
switch(expr)
{
  case val1:
    stmt1;
    break;
  case val2:
    stmt2;
    break;
  default:
    stmt3;
    break;
}
1) 查看表现式的结果是否与值1相同
2) 如其值与1)的值相同将实行命令语句1后调出
3) 1)的值不同时将表现式的结果与值2比较
4) 3)的值相同实行命令语句2后调出
5) 3)的值不同实行命令语句3
<?php
  $var = 1;
  switch($var)
  {
    case 1:
      echo "var is 1";
      break;
    case 2:
      echo "var is 2";
      break;
    default:
      echo "Error";
      break;
  }
?>
[result]  
var is 1
  • default的使用例
    使用switch语句时可以省略default
<?php
  $var = 1;
  switch($var)
  {
    case 1:
      echo "var is 1";
      break;
    case 2:
      echo "var is 2";
      break;
  }
?>
[result]  
var is 1

不是每一种情况都需要包含break,如果没有break出现,控制流程将落到随后的控制流程直到达到break

<?php
  $var = 2;
  switch($var)
  {
    case 1:
      echo "3";
    case 2:
      echo "3";
    case 3:
      echo "3";
      break;
    case 4:
      echo "4";
  }
?>
[result]  
23

※ case表现式后面分号(;)无法替代(:)使用。