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 executed
 if expression is different from both label1 and label2;
}

举例:

switch($i){
  case 1:
    echo 1;
    break;
  case 2:
    echo 2;
    break;
  default:
    echo 'others';
}

也可以使用switch来判断一个取值范围,或者说是在case中自定义条件。

<?php
header("content-type:text/html;charset=utf8");
$score=50;
switch($score)
{
 case $score>=90 && $score<=100:
  echo "优<br>";
  break;
 case $score>=80 && $score<90:
  echo "良<br>";
  break;
 case $score>=70 && $score<80:
  echo "中<br>";
  break;
 case $score>=60 && $score<70:
  echo "及格<br>";
  break;
 case $score>=0 && $score<60:
  echo "不及格<br>";
  break;
 default:
  echo"成绩输入错误<br>";
}
?>

简单示例

<?php
 //switch细节
 //情况一:数值匹配的时候自动转换成字串
 $a=1;
 switch($a){
  case "1":
    echo 'hello1';
    break;
  default:
    echo 'sorry none is the same!';
    break;
 }
 echo '<br/>'.'成功退出····';
 echo '<hr/>';
  //情况二:数值匹配的时候自动转换成字符
 $a=1;
 switch($a){
  case '1':
    echo 'hello2';
    break;
  default:
    echo 'sorry none is the same!';
    break;
 }
 echo '<br/>'.'成功退出····';
 echo '<hr/>';
  //情况三:字符匹配的时候自动转换成数值
 $a='1';
 switch($a){
  case 1:
    echo 'hello3';
    break;
  default:
    echo 'sorry none is the same!';
    break;
 }
 echo '<br/>'.'成功退出····';
 echo '<hr/>';
  //情况四:字串匹配的时候自动转换成数值
 $a="1";
 switch($a){
  case 1:
    echo 'hello4';
    break;
  default:
    echo 'sorry none is the same!';
    break;
 }
 echo '<br/>'.'成功退出····';
 echo '<hr/>';
  //情况五:float也可以匹配
 $a=1.1;
 switch($a){
  case 1.1:
    echo 'hello5';
    break;
  default:
    echo 'sorry none is the same!';
    break;
 }
 echo '<br/>'.'成功退出····';
 echo '<hr/>';
  //情况六:非0是true
 $a=true;
 switch($a){
  case 1:
    echo 'hello6';
    break;
  case true:
    echo 'hello61';
    break;
  default:
    echo 'sorry none is the same!';
    break;
 }
 echo '<br/>'.'成功退出····';
 echo '<hr/>';
  //情况七:能匹配boolean
 $a=true;
 switch($a){
  case true:
    echo 'hello7';
    break;
  case 2:
    echo 'hello71';
    break;
  default:
    echo 'sorry none is the same!';
    break;
 }
 echo '<br/>'.'成功退出····';
 echo '<hr/>';
  //情况八:能匹配null
 $a=null;
 switch($a){
  case 2://'' "" false 0 都能进入
    echo 'hello8';
    break;
  case null:
    echo 'hello81';
    break;
  default:
    echo 'sorry none is the same!';
    break;
 }
 echo '<br/>'.'成功退出····';
 echo '<hr/>';
  //情况九:退出顺序
 $a=5;
 switch($a){
  case 1:
    echo 'hello6';
    break;
  case 2:
    echo '我是2号出口';
    break;
  case 5:
    echo '我是5号出口';
    //break;
  case true:
    echo 'hello61';
    break;
  default:
    echo 'sorry none is the same!';
    break;
 }
 echo '<br/>'.'成功退出····';
 echo '<hr/>';
  //情况十:退出顺序
 $a=50;
 switch($a){
  default:
    echo 'sorry none is the same!';
    //break;
  case 50:
    echo 'hello6';
    //break;
  case 2:
    echo '我是2号出口';
    break;
  case 5:
    echo '我是5号出口';
    //break;
  case 6:
    echo 'hello61';
    break;
 }
 echo '<br/>'.'成功退出····';
 echo '<hr/>';
?>

运行结果

hello1
成功退出····
hello2
成功退出····
hello3
成功退出····
hello4
成功退出····
hello5
成功退出····
hello6
成功退出····
hello7
成功退出····
hello81
成功退出····
我是5号出口hello61
成功退出····
hello6我是2号出口
成功退出····
(0)

相关推荐

  • php 流程控制switch的简单实例

    switch允许对一个标量(表达式)的多个可能结果做选择. 语法: switch (expr) { case result1: statement1 break; case result2: statement2 break; -- default: statement } 系统计算expr的值,根据计算结果(result1.result2等)来选择下面对应执行语句,如果所有的case结果都不符合,则会执行default里的语句. 例子: <?php switch ($x) { case 0:

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

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

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

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

  • 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用法差不多的,但注意有有一个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

  • java中@SuppressWarnings注解用法详解

    SuppressWarnings注解是jse提供的注解.作用是屏蔽一些无关紧要的警告.使开发者能看到一些他们真正关心的警告.从而提高开发者的效率 简介: java.lang.SuppressWarnings是J2SE 5.0中标准的Annotation之一.可以标注在类.字段.方法.参数.构造方法,以及局部变量上.作用:告诉编译器忽略指定的警告,不用在编译完成后出现警告信息. 使用: @SuppressWarnings("") @SuppressWarnings({}) @Suppre

  • JavaScript中eval()函数用法详解

    eval() 函数计算 JavaScript 字符串,并把它作为脚本代码来执行. 如果参数是一个表达式,eval() 函数将执行表达式.如果参数是Javascript语句,eval()将执行 Javascript 语句. 语法 复制代码 代码如下: eval(string) 参数 描述 string 必需.要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句. eval()函数用法详解: 此函数可能使用的频率并不是太高,但是在某些情况下具有很大的作用,下面就介绍一下eva

  • 浅谈c++中的stl中的map用法详解

    Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道.这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序的好处. 下面举例说明什么是一对一的数据映射.比如一个班级中,每个学生的学号跟他的姓名就存在着一一

  • python中yield的用法详解——最简单,最清晰的解释

    首先我要吐槽一下,看程序的过程中遇见了yield这个关键字,然后百度的时候,发现没有一个能简单的让我懂的,讲起来真TM的都是头头是道,什么参数,什么传递的,还口口声声说自己的教程是最简单的,最浅显易懂的,我就想问没有有考虑过读者的感受. 接下来是正题: 首先,如果你还没有对yield有个初步分认识,那么你先把yield看做"return",这个是直观的,它首先是个return,普通的return是什么意思,就是在程序中返回某个值,返回之后程序就不再往下运行了.看做return之后再把它

  • Python3爬虫中Selenium的用法详解

    Selenium是一个自动化测试工具,利用它可以驱动浏览器执行特定的动作,如点击.下拉等操作,同时还可以获取浏览器当前呈现的页面的源代码,做到可见即可爬.对于一些JavaScript动态渲染的页面来说,此种抓取方式非常有效.本节中,就让我们来感受一下它的强大之处吧. 1. 准备工作 本节以Chrome为例来讲解Selenium的用法.在开始之前,请确保已经正确安装好了Chrome浏览器并配置好了ChromeDriver.另外,还需要正确安装好Python的Selenium库,详细的安装和配置过程

  • python中yield的用法详解

    首先我要吐槽一下,看程序的过程中遇见了yield这个关键字,然后百度的时候,发现没有一个能简单的让我懂的,讲起来真TM的都是头头是道,什么参数,什么传递的,还口口声声说自己的教程是最简单的,最浅显易懂的,我就想问没有有考虑过读者的感受. 接下来是正题: 首先,如果你还没有对yield有个初步分认识,那么你先把yield看做"return",这个是直观的,它首先是个return,普通的return是什么意思,就是在程序中返回某个值,返回之后程序就不再往下运行了.看做return之后再把它

  • MYSQL中Truncate的用法详解

    本文导读:删除表中的数据的方法有delete,truncate, 其中TRUNCATE TABLE用于删除表中的所有行,而不记录单个行删除操作.TRUNCATE TABLE 与没有 WHERE 子句的 DELETE 语句类似:但是,TRUNCATE TABLE 速度更快,使用的系统资源和事务日志资源更少.下面介绍SQL中Truncate的用法 当你不再需要该表时, 用 drop:当你仍要保留该表,但要删除所有记录时, 用 truncate:当你要删除部分记录时(always with a WHE

  • Pandas中GroupBy具体用法详解

    目录 简介 分割数据 多index get_group dropna groups属性 index的层级 group的遍历 聚合操作 通用聚合方法 同时使用多个聚合方法 NamedAgg 不同的列指定不同的聚合方法 转换操作 过滤操作 Apply操作 简介 pandas中的DF数据类型可以像数据库表格一样进行groupby操作.通常来说groupby操作可以分为三部分:分割数据,应用变换和和合并数据. 本文将会详细讲解Pandas中的groupby操作. 分割数据 分割数据的目的是将DF分割成为

  • Java中的MapStruct用法详解

    目录 1 MapStruct配置 2 原理&性能 2.1 实现原理 3 使用方法 3.1 转换器的检索 3.1.1 使用Mappers工厂获取 3.1.2 通过依赖注入的方式获取 3.2 简单映射 3.2.1 基本映射 3.2.2 多源参数映射 3.2.3 更新对象 3.3 数据类型转换 3.3.1 对于基础数据类型会进行自动隐式的转换 3.3.2 指定转换格式 3.3.3 属性为复杂对象的映射 3.3.4 自定义转换器 3.3.5 使用限定符限定使用转换方法 3.4 Map的映射 3.5 枚举

随机推荐