php switch语句多个值匹配同一代码块的实现

先说说switch()语句的格式

switch(表达式){

case 匹配1:
当匹配1和表达式匹配成功执行的代码;
break;

case 匹配2:
当匹配2和表达式匹配成功执行的代码;
break;
default:
如果case语句没有与表达式成功所执行的代码;
}

理解 switch 是怎样执行的非常重要。switch 语句一行接一行地执行(实际上是语句接语句)。开始时没有代码被执行。仅当一个 case 语句中的值和 switch 表达式的值匹配时 PHP 才开始执行语句,直到 switch 的程序段结束或者遇到第一个 break 语句为止。如果不在 case 的语句段最后写上 break 的话,PHP 将继续执行下一个 case 中的语句段。
例子:


代码如下:

<?php
switch($i){
case 1:
echo "$i的值是1";
break;
case 2:
echo "$i的值是2";
break;
case 3:
echo "$i的值是3";
break;
default:
echo "$i的值不是1、2、3";
}
?>

在一个 case 中的语句也可以为空,这样只不过将控制转移到了下一个 case 中的语句,知道下一个case的语句块不为空,这样就实现了多个值匹配同意代码块:
当$i的值为1或2或3时输出同一语句:


代码如下:

<?php
switch($i){
case 1:
case 2:
case 3:
echo "$i的值为$i的值为1或2或3";
break;
}
?>

(0)

相关推荐

  • PHP的switch判断语句的“高级”用法详解

    只所以称为"高级"用法,是因为我连switch的最基础的用法都还没有掌握,so,接下来讲的其实还是它的基础用法! switch 语句和具有同样表达式的一系列的 IF 语句相似.很多场合下需要把同一个变量(或表达式)与很多不同的值比较,并根据它等于哪个值来执行不同的代码.这正是 switch 语句的用途. 注意: 注意和其它语言不同,continue 语句作用到 switch 上的作用类似于 break.如果在循环中有一个 switch 并希望 continue 到外层循环中的下一个轮回

  • PHP中的switch语句的用法实例详解

    switch是一个开关语句,那么很多朋友都只知道简单的switch开关语句的用法了,下面一聚教程小编就为各位详细的介绍一下switch用法例子吧. 只所以称为"高级"用法,是因为我连switch的最基础的用法都还没有掌握,so,接下来讲的其实还是它的基础用法! switch 语句和具有同样表达式的一系列的 IF 语句相似.很多场合下需要把同一个变量(或表达式)与很多不同的值比较,并根据它等于哪个值来执行不同的代码.这正是 switch 语句的用途. 注意: 注意和其它语言不同,cont

  • ThinkPHP模板Switch标签用法示例

    ThinkPHP模板中的switch标签用于在模板中根据不同情况输出不同的值. ThinkPHP模板引擎支持switch判断,可根据不同条件输出不同的结果,使用格式如下: <switch name="变量名" > <case value="值1">输出内容1</case> <case value="值2">输出内容2</case> <default />默认情况 </s

  • php switch语句多个值匹配同一代码块应用示例

    先说说switch()语句的格式 switch(表达式){ case 匹配1: 当匹配1和表达式匹配成功执行的代码; break; case 匹配2: 当匹配2和表达式匹配成功执行的代码; break; default: 如果case语句没有与表达式成功所执行的代码; } 理解 switch 是怎样执行的非常重要.switch 语句一行接一行地执行(实际上是语句接语句).开始时没有代码被执行.仅当一个 case 语句中的值和 switch 表达式的值匹配时 PHP 才开始执行语句,直到 swit

  • PHP Switch 语句之学习笔记

    PHP 中的 Switch 语句用于执行基于多个不同条件的不同动作. Switch 语句 如果您希望有选择地执行若干代码块之一,请使用 Switch 语句. 使用 Switch 语句可以避免冗长的 if..elseif..else 代码块. 语法 复制代码 代码如下: switch (expression) { case label1: code to be executed if expression = label1; break; case label2: code to be execu

  • php中switch语句用法详解

    本文介绍php中的switch语句的用法,它跟其他语句中的switch用法差不多的,但注意有有一个break语句. PHP中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 exe

  • php 随机数的产生、页面跳转、件读写、文件重命名、switch语句

    复制代码 代码如下: <?php num = rand(1,5); witch($num){ case 1: $fp1=fopen("f1.dat",'r'); $oname = fgets($fp1); $nname = date("YmdHis"); rename($oname,$nname); fclose($fp1); unlink("f1.dat"); $fp1=fopen("f1.dat",'w'); fwr

  • php中switch与ifelse的效率区别及适用情况分析

    本文实例分析了php中switch与ifelse的效率区别及适用情况.分享给大家供大家参考.具体分析如下: PHP中的这两个方法都是用于判断值是否满足条件,如果满足/不满足做出不同行为动作. 不管写什么语言的程序,一定会考虑到代码的运行效率问题.在查阅了一些资料后,switch与ifelse在不同的'环境'下效率各有优胜. 1.当被判断的值是常量(固定不变的值)时,switch的运行效率比ifelse的运行效率高: $changliang=3; // 变判断的值为常量 switch($chang

  • php switch语句多个值匹配同一代码块的实现

    先说说switch()语句的格式 switch(表达式){ case 匹配1: 当匹配1和表达式匹配成功执行的代码; break; case 匹配2: 当匹配2和表达式匹配成功执行的代码; break; default: 如果case语句没有与表达式成功所执行的代码; } 理解 switch 是怎样执行的非常重要.switch 语句一行接一行地执行(实际上是语句接语句).开始时没有代码被执行.仅当一个 case 语句中的值和 switch 表达式的值匹配时 PHP 才开始执行语句,直到 swit

  • 深入剖析Go语言编程中switch语句的使用

    switch语句可以让一个变量对反对值的列表平等进行测试.每个值被称为一个的情况(case),变量被接通检查每个开关盒(switch case). 在Go编程,switch有两种类型. 表达式Switch - 在表达式switch,case包含相比较,switch表达式的值. 类型Switch - 在这类型switch,此时含有进行比较特殊注明开关表达式的类型. 表达式Switch 在Go编程语言中表达switch语句的语法如下: 复制代码 代码如下: switch(boolean-expres

  • Swift开发中switch语句值绑定模式

    Switch简介 Switch作为选择结构中必不可少的语句也被加入到了Swift中,只要有过编程经验的人对Switch语句都不会感到陌生,但苹果对Switch进行了大大的增强,使其拥有其他语言中没有的特性. // switch语句值绑定模式 let point = (100, 10) switch point { // 遇到有匹配的就不会在执行下一个了 这样子也可以啊case let (x, y) case (let x, let y): print("\(x): \(y)") //

  • 深入解析Swift中switch语句对case的数据类型匹配的支持

    Swift可以对switch中不同数据类型的值作匹配判断: var things = Any[]() things.append(0) things.append(0.0) things.append(42) things.append(3.14159) things.append("hello") things.append((3.0, 5.0)) things.append(Movie(name:"Ghostbusters", director:"Iv

  • Java switch多值匹配操作详解

    这篇文章主要介绍了Java switch多值匹配操作详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 我们都知道 switch 用来走流程分支,大多情况下用来匹配单个值,如下面的例子所示: /** * @author 栈长 */ private static void test(int value) { switch (value) { case 1: System.out.println("1"); break; case 2:

  • 浅谈选择结构if语句和switch语句的区别

    1.选择结构if语句格式及其使用 A:if语句的格式: if(比较表达式1) { 语句体1; }else if(比较表达式2) { 语句体2; }else if(比较表达式3) { 语句体3; } ... else {   语句体n+1; } B:执行流程: 首先计算比较表达式1看其返回值是true还是false, 如果是true,就执行语句体1,if语句结束. 如果是false,接着计算比较表达式2看其返回值是true还是false, 如果是true,就执行语句体2,if语句结束. 如果是fa

  • Switch语句的技巧

    概述 switch语句对一个表达式求值,将结果与 case 子语句比较,如果匹配,则从 case 处的语句向下执行. 语法 break;语句是可选择的,如果遇到break;则会跳出整个switch语句.如果没有任何case匹配,则进入到default:的分支.default:分支也是可选的. switch (expression) { case value1: // 当 expression 的结果与 value1 匹配时,从此处开始执行 statements1: [break;] case v

  • c#入门之分支语句使用方法(三元运算符、if语句、switch语句)

    三元运算符:?很多语言中都有这个运算符,原理都是一样的,区别可能就在于书写的格式上.习惯了excel的方式,总想把多个表达式用 , 号隔开,呵呵.在C#的三元运算符 ? 中,返回的两个表达式之间,使用 : 号隔开,而不是 , 号,注意了: 复制代码 代码如下: string h = (k<10) ? "k小于10":"k大于或等于10"; 当然,这种表达式适合简单的比较后返回值处理,但对于根据比较结果而执行大量的代码就不太适用了. IF语句 IF语句没有返回值

随机推荐