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 相关文章推荐
IIS环境下快速安装、配置和调试PHP5.2.0
Dec 17 PHP
PHP输出时间差函数代码
Jan 28 PHP
PHP递归删除目录几个代码实例
Apr 21 PHP
Smarty中常用变量操作符汇总
Oct 27 PHP
浅谈PHP中Stream(流)
Jun 08 PHP
是 WordPress 让 PHP 更流行了 而不是框架
Feb 03 PHP
PHP命名空间namespace的定义方法详解
Mar 29 PHP
PHP实现批量重命名某个文件夹下所有文件的方法
Sep 04 PHP
php获取微信共享收货地址的方法
Dec 21 PHP
PHP序列化的四种实现方法与横向对比
Nov 29 PHP
PHP生成指定范围内的N个不重复的随机数
Mar 18 PHP
Laravel框架控制器的request与response用法示例
Sep 30 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超大文件下载,断点续传下载的方法详解
2013/06/06 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
2014/07/04 PHP
PHP随机生成信用卡卡号的方法
2015/03/23 PHP
php常用表单验证类用法实例
2015/06/18 PHP
php生成唯一数字id的方法汇总
2015/11/18 PHP
深入浅析yii2-gii自定义模板的方法
2016/04/26 PHP
php微信公众平台开发(一) 配置接口
2016/12/06 PHP
在 IE 中调用 javascript 打开 Excel 表
2006/12/21 Javascript
javascript小数计算出现近似值的解决办法
2010/02/06 Javascript
jQuery使用技巧简单汇总
2013/04/18 Javascript
jqeury-easyui-layout问题解决方法
2014/03/24 Javascript
一个不错的js html页面倒计时可精确到秒
2014/10/22 Javascript
jQuery对JSON数据进行排序输出的方法
2015/06/24 Javascript
JQUERY实现网页右下角固定位置展开关闭特效的方法
2015/07/27 Javascript
jquery中的工具使用方法$.isFunction, $.isArray(), $.isWindow()
2015/08/09 Javascript
微信小程序 数据遍历的实现
2017/04/05 Javascript
JS实现简单表格排序操作示例
2017/10/07 Javascript
nodejs+express搭建多人聊天室步骤
2018/02/12 NodeJs
vue项目中使用ueditor的实例讲解
2018/03/05 Javascript
在layui.use 中自定义 function 的正确方法
2019/09/16 Javascript
vue路由拦截器和请求拦截器知识点总结
2019/11/08 Javascript
vue监听dom大小改变案例
2020/07/29 Javascript
Python中的random()方法的使用介绍
2015/05/15 Python
Python实现将目录中TXT合并成一个大TXT文件的方法
2015/07/15 Python
Python使用progressbar模块实现的显示进度条功能
2018/05/31 Python
python 正确保留多位小数的实例
2018/07/16 Python
在Python中居然可以定义两个同名通参数的函数
2019/01/31 Python
python按行读取文件并找出其中指定字符串
2019/08/08 Python
Python 使用 Pillow 模块给图片添加文字水印的方法
2019/08/30 Python
Python 用三行代码提取PDF表格数据
2019/10/13 Python
Python程序暂停的正常处理方法
2019/11/07 Python
CSS3改变浏览器滚动条样式
2019/01/04 HTML / CSS
三年级科学教学反思
2014/01/29 职场文书
个人作风建设总结
2014/10/23 职场文书
幼儿园大班教师个人总结
2015/02/05 职场文书
同事离别感言
2015/08/04 职场文书