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 相关文章推荐
E路文章系统PHP
Dec 11 PHP
ajax+php打造进度条 readyState各状态
Mar 20 PHP
php类中private属性继承问题分析
Nov 01 PHP
基于php设计模式中单例模式的应用分析
May 15 PHP
php遍历目录与文件夹的多种方法详解
Nov 14 PHP
php实现批量下载百度云盘文件例子分享
Apr 10 PHP
php调用google接口生成二维码示例
Apr 28 PHP
Yii框架关联查询with用法分析
Dec 02 PHP
php获取英文姓名首字母的方法
Jul 13 PHP
PHP的Yii框架中Model模型的学习教程
Mar 29 PHP
Laravel多用户认证系统示例详解
Mar 13 PHP
PHP7修改的函数
Mar 09 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+MYSQL的文章管理系统(一)
2006/10/09 PHP
新手学习PHP的一些基础知识分享
2011/07/27 PHP
php中3des加密代码(完全与.net中的兼容)
2012/08/02 PHP
php生成图形验证码几种方法小结
2013/08/15 PHP
基于JQuery+PHP编写砸金蛋中奖程序
2015/09/08 PHP
基于 Swoole 的微信扫码登录功能实现代码
2018/01/15 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
2018/04/04 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
TP5.0框架实现无限极回复功能的方法分析
2019/05/04 PHP
jquery 应用代码 方便的排序功能
2010/02/06 Javascript
基于jquery用于查询操作的实现代码
2010/05/10 Javascript
jQuery调用RESTful WCF示例代码(GET方法/POST方法)
2014/01/26 Javascript
js获取当前页面的url网址信息
2014/06/12 Javascript
js限制input标签中只能输入中文
2015/06/26 Javascript
AngularJS整合Springmvc、Spring、Mybatis搭建开发环境
2016/02/25 Javascript
jQuery实现的小图列表,大图展示效果幻灯片示例
2016/10/25 Javascript
浅谈angularjs $http提交数据探索
2017/01/20 Javascript
关于javascript获取内联样式与嵌入式样式的实例
2017/06/01 Javascript
Vue.js常用指令之循环使用v-for指令教程
2017/06/27 Javascript
express如何使用session与cookie的方法
2018/01/30 Javascript
微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb
2018/07/04 Javascript
django js 实现表格动态标序号的实例代码
2019/07/12 Javascript
关于Vue中axios的封装实例详解
2019/10/20 Javascript
vue.js路由mode配置之去掉url上默认的#方法
2019/11/01 Javascript
Vue封装全局过滤器Filters的步骤
2020/09/16 Javascript
Python获取电脑硬件信息及状态的实现方法
2014/08/29 Python
详解python中的 is 操作符
2017/12/26 Python
Redis使用watch完成秒杀抢购功能的代码
2018/05/07 Python
python 剪切移动文件的实现代码
2018/08/02 Python
python-pyinstaller、打包后获取路径的实例
2019/06/10 Python
Django 全局的static和templates的使用详解
2019/07/19 Python
django API 中接口的互相调用实例
2020/04/01 Python
利用python实现汉诺塔游戏
2021/03/01 Python
销售会议开幕词
2015/01/28 职场文书
进阶篇之linux环境下安装MySQL数据库
2022/04/09 MySQL
Docker容器harbor私有仓库部署和管理
2022/08/05 Servers