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 相关文章推荐
第十三节 对象串行化 [13]
Oct 09 PHP
怎样才能成为PHP高手?学会“懒惰”的编程
Dec 05 PHP
PHP扩展模块Pecl、Pear以及Perl的区别
Apr 09 PHP
php实现的SESSION类
Dec 02 PHP
php实现使用正则将文本中的网址转换成链接标签
Dec 03 PHP
php中magic_quotes_gpc对unserialize的影响分析
Dec 16 PHP
PHP输入输出流学习笔记
May 12 PHP
分享php邮件管理器源码
Jan 06 PHP
PHP中header用法小结
May 23 PHP
PHP parse_ini_file函数的应用与扩展操作示例
Jan 07 PHP
PHP从零开始打造自己的MVC框架之入口文件实现方法详解
Jun 03 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
Dec 18 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
跟我学Laravel之快速入门
2014/10/15 PHP
php+mysqli批量查询多张表数据的方法
2015/01/29 PHP
php接口数据加密、解密、验证签名
2015/03/12 PHP
php限制ip地址范围的方法
2015/03/31 PHP
typecho插件编写教程(三):保存配置
2015/05/28 PHP
PHP的Yii框架中Model模型的学习教程
2016/03/29 PHP
Javascript跨域请求的4种解决方式
2013/03/17 Javascript
Javascript的时间戳和php的时间戳转换注意事项
2013/04/12 Javascript
使用jquery局部刷新(jquery.load)从数据库取出数据
2014/01/22 Javascript
JS组件Bootstrap导航条使用方法详解
2016/04/29 Javascript
JavaScript实现经典排序算法之插入排序
2016/12/28 Javascript
Bootstrap进度条与AJAX后端数据传递结合使用实例详解
2017/04/23 Javascript
Vue 2.0的数据依赖实现原理代码简析
2017/07/10 Javascript
node.js 核心http模块,起一个服务器,返回一个页面的实例
2017/09/11 Javascript
使用vue根据状态添加列表数据和删除列表数据的实例
2018/09/29 Javascript
elementUI table表格动态合并的示例代码
2019/05/15 Javascript
微信小程序 行的删除和增加操作实现详解
2019/09/29 Javascript
Vue.js实现大转盘抽奖总结及实现思路
2019/10/09 Javascript
不刷新网页就能链接新的js文件方法总结
2020/03/01 Javascript
matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)
2020/09/25 Python
快速创建python 虚拟环境
2020/11/28 Python
菲律宾领先的在线时尚商店:Zalora菲律宾
2018/02/08 全球购物
Haglöfs瑞典官方网站:haglofs火柴棍,欧洲顶级户外品牌
2018/10/18 全球购物
医学毕业生自荐信
2013/10/11 职场文书
经理秘书岗位职责
2013/11/14 职场文书
致短跑运动员广播稿
2014/01/09 职场文书
大学社团活动策划书
2014/01/26 职场文书
小学生成长感言
2014/01/30 职场文书
《凡卡》教学反思
2014/04/09 职场文书
考试作弊检讨书
2014/10/21 职场文书
社会实践活动报告
2015/02/05 职场文书
大学班长竞选稿
2015/11/20 职场文书
react中props 的使用及进行限制的方法
2021/04/28 Javascript
python 算法题——快乐数的多种解法
2021/05/27 Python
JavaScript模拟实现网易云轮播效果
2022/04/04 Javascript
深入理解mysql事务隔离级别和存储引擎
2022/04/12 MySQL