"/>
前言/PREFACE switch语句和if...else if...else 语句相似,也是一种分支结构,只不过与if...else if...else等语句相比, switch的语句更加明了简洁。 switch 语句类似于具有同一个表达式的一系列if语句。很多场合下需要把同一个变量(或表达式)与很多不同的值比较,并根据它等于哪个值来执行不同的代码。这正是 switch 语句的用途。 01 Switch语句 switch 语句由一个表达式和多个 case 标签组成,case 标签后紧跟一个代码块,case 标签作为这个代码块的标识。switch 语句的语法格式如下: switch 语句根据表达式的值,依次与 case 中的值进行比较,如果不相等,继续查找下一个 case;如果相等,就会执行对应的语句,直到 switch 语句结束或遇到 break 为止。 一般来说,switch 语句最终都有一个默认值 default,如果在前面的 case 中没有找到相符的条件,则执行默认语句,和 else 语句类似。 switch 语句的执行流程如下图所示: 在使用switch 语句时应该注意以下几点: a)、和if 语句不同的是,switch 语句后面表达式的数据类型只能是整型或字符串,不能是bool 型。通常这个表达式是一个变量名称,虽然 PHP是弱类型语言,在 switch后面表达式的变量可以是任意类型数据,但为了保证匹配执行的准确性,最好只使用整型或字符串中的一种类型。 b)、和if语句不同的是,switch语句后面的花括号是必须有的。 c)、case 语句的个数没有规定,可以无限增加。但case 标签和 case 标签后面的值之间应该有一个空格,值后面必须有一个冒号,这是语法的一部分。 d)、switch 匹配完成以后,将依次逐条执行匹配的分支模块中的语句,直到 switch 结构结束或者遇到了 break 语句才停止执行。所以,如果一个分支语句的后面没有写上 break 语句,程序将会继续执行下一个分支语句的内容。 e)、与if语句中的else类似,switch 语句中 default 标签直接在后面加上一个冒号,看似没有条件,其实是有条件的,条件就是“表达式”的值不能与前面任何一个 case标签后的值相等,这时才执行default 分支中的语句。default 标签和if中的 else子句一样,它不是 switch 语句中必需的,可以省略。 02 Switch语法 03 Switch实例 对表达式(通常是变量)进行一次计算; 把表达式的值与结构中 case 的值进行比较; 如果存在匹配,则执行与 case 关联的代码; 代码执行后,break 语句阻止代码跳入下一个 case 中继续执行; 如果没有 case 为真,则使用 default 语句。 *声明:本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜 上一篇:PHP程序员的七大必杀招式 下一篇:PHP中的命名空间 |