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 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
Oct 05 PHP
深入解析php中的foreach问题
Jun 30 PHP
php利用单例模式实现日志处理类库
Feb 10 PHP
php删除文本文件中重复行的方法
Apr 28 PHP
PHP使用ODBC连接数据库的方法
Jul 18 PHP
thinkphp命名空间用法实例详解
Dec 30 PHP
Zend Framework教程之Autoloading用法详解
Mar 08 PHP
php数组指针操作详解
Feb 14 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
Apr 18 PHP
PHP基于回溯算法解决n皇后问题的方法示例
Nov 07 PHP
PHP切割汉字的常用方法实例总结
Apr 27 PHP
laravel添加前台跳转成功页面示例
Oct 22 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使用explode()函数将字符串拆分成数组的方法
2015/02/17 PHP
Linux平台php命令行程序处理管道数据的方法
2016/11/10 PHP
php下载远程大文件(获取远程文件大小)的实例
2017/06/17 PHP
PHP5.6新增加的可变函数参数用法分析
2017/08/25 PHP
jQuery根据纬度经度查看地图处理程序
2013/05/08 Javascript
在父页面调用子页面的JS方法
2013/09/29 Javascript
$.each遍历对象、数组的属性值并进行处理
2014/07/18 Javascript
jQuery EasyUI实现右键菜单变灰不可用效果
2015/09/24 Javascript
JavaScript实现显示函数调用堆栈的方法
2016/04/21 Javascript
bootstrap3 dialog 更强大、更灵活的模态框
2017/04/20 Javascript
React中使用collections时key的重要性详解
2017/08/07 Javascript
json2.js 入门教程之使用方法与实例分析
2017/09/14 Javascript
vue.js前后端数据交互之提交数据操作详解
2018/04/24 Javascript
简述vue路由打开一个新的窗口的方法
2018/11/29 Javascript
jQuery选择器之基本过滤选择器用法实例分析
2019/02/19 jQuery
Auto.JS实现抖音刷宝等刷视频app,自动点赞,自动滑屏,自动切换视频功能
2020/05/08 Javascript
[01:43]深扒TI7聊天轮盘语音出处4
2017/05/11 DOTA
用python实现的去除win下文本文件头部BOM的代码
2013/02/10 Python
Python创建xml的方法
2015/03/10 Python
Python中的面向对象编程详解(下)
2015/04/13 Python
Python遍历指定文件及文件夹的方法
2015/05/09 Python
Python使用Scrapy爬取妹子图
2015/05/28 Python
对PyTorch torch.stack的实例讲解
2018/07/30 Python
python 利用matplotlib在3D空间绘制二次抛物面的案例
2021/02/06 Python
使用纯 CSS 创作一个脉动 loader效果的源码
2018/09/28 HTML / CSS
加拿大廉价机票预订网站:CheapOair.ca
2018/03/04 全球购物
医科大学生毕业的自我评价分享
2013/11/12 职场文书
初三新学期计划书
2014/05/03 职场文书
团队拓展活动方案
2014/08/28 职场文书
甜品店创业计划书
2014/09/21 职场文书
2014年党员自我评价材料
2014/09/22 职场文书
同学聚会通知书
2015/04/20 职场文书
学校禁毒宣传活动总结
2015/05/08 职场文书
修改MySQL的数据库引擎为INNODB的方法
2021/05/26 MySQL
在Windows Server 2012上安装 .NET Framework 3.5 所遇到的问题
2022/04/29 Servers
MySQL 数据 data 基本操作
2022/05/04 MySQL