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 相关文章推荐
java EJB 加密与解密原理的一个例子
Jan 11 PHP
PHP笔记之:基于面向对象设计的详解
May 14 PHP
php遍历目录与文件夹的多种方法详解
Nov 14 PHP
php操作csv文件代码实例汇总
Sep 22 PHP
深入浅析yii2-gii自定义模板的方法
Apr 26 PHP
深入理解PHP的远程多会话调试
Sep 21 PHP
PHP使用Redis实现防止大并发下二次写入的方法
Oct 09 PHP
thinkPHP5框架auth权限控制类与用法示例
Jun 12 PHP
PHP hex2bin()函数用法讲解
Feb 25 PHP
PHP扩展Swoole实现实时异步任务队列示例
Apr 13 PHP
Yii框架参数配置文件params用法实例分析
Sep 11 PHP
php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析
Mar 02 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下使用iconv需要注意的问题
2010/11/20 PHP
php入门学习知识点三 PHP上传
2011/07/14 PHP
解析strtr函数的效率问题
2013/06/26 PHP
php基于jquery的ajax技术传递json数据简单实例
2016/04/15 PHP
PHP数字前补0的自带函数sprintf 和number_format的用法(详解)
2017/02/06 PHP
textarea的value是html文件源代码,存成html文件的代码
2007/04/20 Javascript
JS遮罩层效果 兼容ie firefox jQuery遮罩层
2010/07/26 Javascript
jquery attr 设定src中含有&amp;(宏)符号问题的解决方法
2011/07/26 Javascript
bootstrap下拉菜单使用方法解析
2017/01/13 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
2017/02/14 Javascript
JavaScript 数据类型详解
2017/03/13 Javascript
Thinkjs3新手入门之添加一个新的页面
2017/12/06 Javascript
JS实现将对象转化为数组的方法分析
2019/01/21 Javascript
微信小程序城市选择及搜索功能的方法
2019/03/22 Javascript
微信小程序 云开发模糊查询实现解析
2019/09/02 Javascript
VUE 组件转换为微信小程序组件的方法
2019/11/06 Javascript
JS前端广告拦截实现原理解析
2020/02/17 Javascript
Python中用于检查英文字母大写的isupper()方法
2015/05/19 Python
使用python语言,比较两个字符串是否相同的实例
2018/06/29 Python
Ubuntu下Python2与Python3的共存问题
2018/10/31 Python
在Pycharm terminal中字体大小设置的方法
2019/01/16 Python
TensorFlow实现简单的CNN的方法
2019/07/18 Python
Python如何把Spark数据写入ElasticSearch
2020/04/18 Python
京东国际站:JOYBUY
2017/11/23 全球购物
美国医生配方营养补充剂供应商:Healthy Directions
2019/07/10 全球购物
俄罗斯便宜的在线服装商店:GroupPrice
2020/04/10 全球购物
DBA数据库管理员JAVA程序员架构师必看
2016/02/07 面试题
毕业生自荐信的主要内容
2013/10/29 职场文书
应聘教师推荐信
2013/10/31 职场文书
收银员的岗位职责范本
2014/02/04 职场文书
餐饮总经理岗位职责
2014/03/07 职场文书
大学生应聘求职信
2014/05/26 职场文书
实习生矿工检讨书
2014/10/13 职场文书
大学生团支书竞选稿
2015/11/21 职场文书
2016开学第一课心得体会
2016/01/23 职场文书
tensorflow+k-means聚类简单实现猫狗图像分类的方法
2021/04/28 Python