范例构造
switch($controllingExpression){
case 'constantExpression1':echo 'statement1';
case 'constantExpression2':echo 'statement2';

case 'constantExpression3':echo 'statement3';
default:echo 'statement';
}
语法PHP Switch 语句
如果您希望有选择地实行多少代码块之一,请利用 Switch 语句。
利用 Switch 语句可以避免冗长的 if..elseif..else 代码块。
语法
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 executedif expression is differentfrom both label1 and label2;}
事情事理对表达式(常日是变量)进行一次打算
把表达式的值与构造中 case 的值进行比较
如果存在匹配,则实行与 case 关联的代码
代码实行后,break语句阻挡代码跳入下一个 case 中连续实行
如果没有 case 为真,则利用 default 语句
下面的例子利用两种不同方法实现同样的事,一个用一系列的 if 语句,另一个用 switch 语句:
1 、switch构造
2、 switch构造可以用字符串
为避免缺点,理解 switch 是若何实行的非常主要。switch 语句一行接一行地实行(实际上是语句接语句)。开始时没有代码被实行。仅当一个 case 语句中的值和 switch 表达式的值匹配时 php 才开始实行语句,直到 switch 的程序段结束或者碰着第一个 break 语句为止。如果不在 case 的语句段末了写上 break 的话,php 将连续实行下一个 case 中的语句段。例如:
这里如果 $i 即是 0,php 将实行所有的 print 语句!
如果 $i 即是 1,php 将实行后面两条 print 语句。只有当 $i 即是 2 时,才会得到“预期”的结果――只显示“i equals 2”。以是,别忘了 break 语句就很主要(纵然在某些情形下故意想避免供应它们时)。在 switch 语句中条件只求值一次并用来和每个 case 语句比较。在 elseif 语句中条件会再次求值。如果条件比一个大略的比较要繁芜得多或者在一个很多次的循环中,那么用 switch 语句可能会快一些。
在一个 case 中的语句也可以为空,这样只不过将掌握转移到了下一个 case 中的语句。
一个 case 的特例是 default。它匹配了任何和其它 case 都不匹配的情形,并且该当是末了一条 case 语句。
case 表达式可以是任何求值为大略类型的表达式,即整型或浮点数以及字符串。不能用数组或工具,除非它们被解除引用成为大略类型。
switch 支持替代语法的流程掌握。更多信息见流程掌握的替代语法一节。
switch语句把稳事变switch语句实行时会从上到下根据括号中表达式的值作比较,当某个case语句中的表达式与此值相同时,就实行这个case语句或语句序列,直到碰着break为止。 break语句是必须有的,它用来结束switch语句的实行。如果所有case语句后面的表达式都不即是switch语句的表达式expr1的值川0实行default后面的默认语句序列。不过,default部分是可选的。如果没有这一部分,并碰着所有case语句都不匹配,那么,就不作任何处理而进入后续程序段的实行。
可见,一个switch语句可以代替多个if-else语句组成的分支构造,而switch语句从思路上显得更清晰。
利用switch语句时,要把稳expr1必须是符合byte,char,short,int类型的常量表达式,而不能用浮点类型或long类型,//(也不能为一个字符串)。 (jdk7后,许可String)
1 、switch(colorNum){
2 、case 0:
3 、setBackground(colo. red);
4 、break;
5 、case 1:
6 、setBackground(color.green) ;
7 、break;
8 、default:
9 、setBackground(color.black);
10 、break;
11 、}
switch还有一个用法:
1 、switch(colorNum){
2 、case 0:
3 、case 1:
4 、setBackground(color.green) ;
5 、break;
6 、default:
7 、setBackground(color.black);
8 、break;
9 、}
文章网络与网络,辛劳网络转载请备注出处全能大脸猫!
PHP丨PHP根本知识之条件语IF判断「理论篇」
PHP丨PHP根本知识之流程掌握WHILE循环「理论篇」
PHP丨PHP根本知识之流程掌握for循环「理论篇」