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新手上路(九)
Oct 09 PHP
基于xcache的配置与使用详解
Jun 18 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
Mar 23 PHP
php二维码生成
Oct 19 PHP
php获取远程图片并下载保存到本地的方法分析
Oct 08 PHP
浅谈php和js中json的编码和解码
Oct 24 PHP
PHP中类的自动加载的方法
Mar 17 PHP
PHP让数组中有相同值的组成新的数组实例
Dec 31 PHP
Laravel模型事件的实现原理详解
Mar 14 PHP
laravel + vue实现的数据统计绘图(今天、7天、30天数据)
Jul 31 PHP
laravel5.6中的外键约束示例
Oct 23 PHP
PHP保存Base64图片base64_decode的问题整理
Nov 04 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
thinkphp 多表 事务详解
2013/06/17 PHP
Yii 2.0中场景的使用教程
2017/06/02 PHP
Yii框架实现对数据库的CURD操作示例
2019/09/03 PHP
指定js可访问其它域名的cookie的方法
2007/09/18 Javascript
初窥JQuery(一)jquery选择符 必备知识点
2010/11/25 Javascript
open 动态修改img的onclick事件示例代码
2013/11/13 Javascript
深入领悟JavaScript中的面向对象
2013/11/18 Javascript
如何正确使用javascript 来进行我们的程序开发
2014/06/23 Javascript
Jquery中find与each方法用法实例
2015/02/04 Javascript
javascript实现删除前弹出确认框
2015/06/04 Javascript
jquery实现简单的全选和反选功能
2016/01/02 Javascript
JavaScript队列、优先队列与循环队列
2016/11/14 Javascript
JS定时器实现数值从0到10来回变化
2016/12/09 Javascript
vue resource发送请求的几种方式
2019/09/30 Javascript
Vue.extend 编程式插入组件的实现
2019/11/18 Javascript
[01:35]辉夜杯战队访谈宣传片—LGD
2015/12/25 DOTA
下载给定网页上图片的方法
2014/02/18 Python
python安装以及IDE的配置教程
2015/04/29 Python
Python基于matplotlib绘制栈式直方图的方法示例
2017/08/09 Python
解决python 输出是省略号的问题
2018/04/19 Python
利用numpy和pandas处理csv文件中的时间方法
2018/04/19 Python
Django模板标签{% for %}循环,获取制定条数据实例
2020/05/14 Python
Python 实现 T00ls 自动签到脚本代码(邮件+钉钉通知)
2020/07/06 Python
python文件编写好后如何实践
2020/07/07 Python
Python3 用什么IDE开发工具比较好
2020/11/28 Python
Foot Locker加拿大官网:美国知名运动产品零售商
2019/07/21 全球购物
如何提高JDBC的性能
2013/04/30 面试题
文秘专业个人求职信
2013/12/22 职场文书
银行演讲稿范文
2014/01/03 职场文书
《雾凇》教学反思
2014/02/17 职场文书
希特勒经典演讲稿
2014/05/19 职场文书
通知范文怎么写
2015/04/16 职场文书
分析MySQL抛出异常的几种常见解决方式
2021/05/18 MySQL
Mysql数据库手动及定时备份步骤
2021/11/07 MySQL
Nginx禁止ip访问或非法域名访问
2022/04/07 Servers
CSS 鼠标点击拖拽效果的实现代码
2022/12/24 HTML / CSS