php中switch语句用法详解


Posted in PHP onAugust 17, 2015

本文介绍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号出口
成功退出····
PHP 相关文章推荐
使用网络地址转换实现多服务器负载均衡
Oct 09 PHP
php array_slice函数的使用以及参数详解
Aug 30 PHP
php执行sql语句的写法
Mar 10 PHP
php session应用实例 登录验证
Mar 16 PHP
PHP 配置open_basedir 让各虚拟站点独立运行
Nov 12 PHP
ThinkPHP采用模块和操作分析
Apr 18 PHP
PHP 魔术变量和魔术函数详解
Feb 25 PHP
php实现QQ空间获取当前用户的用户名并生成图片
Jul 25 PHP
PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码
Mar 25 PHP
PHP 5.6.11 访问SQL Server2008R2的几种情况详解
Aug 08 PHP
php中的依赖注入实例详解
Aug 14 PHP
PHP新手指南
Apr 01 PHP
Linux系统下PHP-FPM的安装和配置教程
Aug 17 #PHP
PHP连接Nginx服务器并解析Nginx日志的方法
Aug 16 #PHP
ThinkPHP开发框架函数详解:C方法
Aug 14 #PHP
提高php编程效率技巧
Aug 13 #PHP
php轻量级的性能分析工具xhprof的安装使用
Aug 12 #PHP
详细解读PHP中接口的应用
Aug 12 #PHP
举例讲解PHP面对对象编程的多态
Aug 12 #PHP
You might like
PHP 数组排序方法总结 推荐收藏
2010/06/30 PHP
基于jQuery的弹出消息插件 DivAlert之旅(一)
2010/04/01 Javascript
jQuery Tools tab使用介绍
2012/07/14 Javascript
实现51Map地图接口(示例代码)
2013/11/22 Javascript
js中用window.open()打开多个窗口的name问题
2014/03/13 Javascript
jquery获取radio值实例
2014/10/16 Javascript
让html页面不缓存js的实现方法
2014/10/31 Javascript
jquery+javascript编写国籍控件
2015/02/12 Javascript
JavaScript实现俄罗斯方块游戏过程分析及源码分享
2015/03/23 Javascript
很酷的星级评分系统原生JS实现
2016/08/25 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
vue项目实现记住密码到cookie功能示例(附源码)
2018/01/31 Javascript
Vue2.0中集成UEditor富文本编辑器的方法
2018/03/03 Javascript
vue input输入框模糊查询的示例代码
2018/05/22 Javascript
几个你不知道的技巧助你写出更优雅的vue.js代码
2018/06/11 Javascript
vue2.0使用v-for循环制作多级嵌套菜单栏
2018/06/25 Javascript
原生JS实现图片懒加载之页面性能优化
2019/04/26 Javascript
微信小程序调用后台service教程详解
2020/11/06 Javascript
[01:36:17]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第一场 1月31日
2021/03/11 DOTA
Python对文件操作知识汇总
2016/05/15 Python
python编写Logistic逻辑回归
2020/12/30 Python
python中kmeans聚类实现代码
2018/02/23 Python
pandas筛选某列出现编码错误的解决方法
2018/11/07 Python
Python 从一个文件中调用另一个文件的类方法
2019/01/10 Python
Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析
2019/04/27 Python
Pytorch技巧:DataLoader的collate_fn参数使用详解
2020/01/08 Python
python时间与Unix时间戳相互转换方法详解
2020/02/13 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
2020/03/30 Python
使用python检查yaml配置文件是否符合要求
2020/04/09 Python
Python  Asyncio模块实现的生产消费者模型的方法
2021/03/01 Python
小学母亲节活动方案
2014/03/14 职场文书
赞美老师的演讲稿
2014/05/22 职场文书
2014教师个人自我评价范文
2014/09/13 职场文书
买卖合同纠纷代理词
2015/05/25 职场文书
PostgreSQL存储过程实用脚本(二):创建函数入门
2021/04/05 PostgreSQL
Python语法学习之进程的创建与常用方法详解
2022/04/08 Python