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 相关文章推荐
在PHP中操作Excel实例代码
Apr 29 PHP
php中将数组存到文件里的实现代码
Jan 19 PHP
如何用php获取文件名后缀
Jun 09 PHP
解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql
Jun 26 PHP
浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)
Jun 29 PHP
使用PHP实现蜘蛛访问日志统计
Jul 05 PHP
PHP实现递归复制整个文件夹的类实例
Aug 03 PHP
php+jQuery+Ajax简单实现页面异步刷新
Aug 08 PHP
PHP面向对象学习之parent::关键字
Jan 18 PHP
PHP 实现从数据库导出到.csv文件方法
Jul 06 PHP
TP3.2批量上传文件或图片 同名冲突问题的解决方法
Aug 01 PHP
PHP中OpenSSL加密问题整理
Dec 14 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程序?
2006/12/08 PHP
使用session判断用户登录用户权限(超简单)
2013/06/08 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
用php定义一个数组最简单的方法
2019/10/04 PHP
做好七件事帮你提升jQuery的性能
2014/02/06 Javascript
js识别不同浏览器基于userAgent做判断
2014/07/29 Javascript
Javascript堆排序算法详解
2014/12/03 Javascript
html的DOM中Event对象onblur事件用法实例
2015/01/21 Javascript
Nodejs学习笔记之入门篇
2015/04/16 NodeJs
jQuery遍历DOM元素与节点方法详解
2016/04/14 Javascript
AngularJS删除路由中的#符号的方法
2016/09/20 Javascript
Vue.js弹出模态框组件开发的示例代码
2017/07/26 Javascript
JavaScript中使用参数个数实现重载功能
2017/09/01 Javascript
vue单页缓存存在的问题及解决方案(小结)
2018/09/25 Javascript
vue-cli3环境变量与分环境打包的方法示例
2019/02/18 Javascript
axios 实现post请求时把对象obj数据转为formdata
2019/10/31 Javascript
[45:46]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS DT
2014/05/23 DOTA
[31:55]完美世界DOTA2联赛循环赛 IO vs GXR BO2第一场 11.04
2020/11/05 DOTA
Python3实现生成随机密码的方法
2014/08/23 Python
简单的Apache+FastCGI+Django配置指南
2015/07/22 Python
Python爬取当当、京东、亚马逊图书信息代码实例
2017/12/09 Python
Python跨文件全局变量的实现方法示例
2017/12/10 Python
使用python实现knn算法
2017/12/20 Python
python中for用来遍历range函数的方法
2018/06/08 Python
Python爬虫小技巧之伪造随机的User-Agent
2018/09/13 Python
django如何实现视图重定向
2019/07/24 Python
基于MSELoss()与CrossEntropyLoss()的区别详解
2020/01/02 Python
pytorch中的卷积和池化计算方式详解
2020/01/03 Python
建筑经济管理专业求职信分享
2014/01/06 职场文书
俄语专业职业生涯规划
2014/02/26 职场文书
安全责任书怎么写
2014/07/28 职场文书
供电工程专业求职信
2014/08/09 职场文书
英语教师求职信范文
2015/03/20 职场文书
乡镇科协工作总结2015
2015/05/19 职场文书
幼儿园六一儿童节主持词
2015/06/30 职场文书
alibaba seata服务端具体实现
2022/02/24 Java/Android