PHP Switch 语句讲解

知道91 | PHP | 2014-01-02 | 阅读:7572

上一篇教程讲解了PHP 的 if...else 语句,今天讲解PHP Switch语句。

Switch语句也是面向对象编程语句中最长常见的逻辑控制语句了。Switch 语句用于执行基于多个不同条件的不同动作 - 即当条件不同的时候,执行不同的逻辑操作。

【Switch语句】

当您希望有选择性地执行若干代码块之一的时候,比如判断当条件是星期一做什么,当条件是星期二时做什么,当条件是星期3时做什么...这时候你就应该想起使用Switch语句。它与if...else语句的区别就在于他是任意多个条件的分支判断,而if...else是两种情况下,这两种结构是可以相互转化的,读者可以自行研究,但是你应该知道在什么时候使用switch,什么时候使用if...else。

使用 Switch 语句的好处就是可以避免冗长的 if..elseif..else 代码块(前文提到它们是可以相互转化的)。

【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语句实例】

工作原理:

  • 对表达式(通常是变量)进行一次计算
  • 把表达式的值与结构中 case 的值进行比较
  • 如果匹配,就执行与 case 相关联的代码
  • 当代码执行后,break 语句就会阻止代码跳入下一个 case 中去继续执行
  • 如果没有 case 为真,那么就使用 default 语句

ps:case 表达式可以是任何求值为简单类型的表达式,即整型或浮点数以及字符串。不能用数组或对象,除非它们被解除引用成为简单类型。