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
mysql下创建字段并设置主键的php代码
May 16 PHP
使用php伪造referer的方法 利用referer防止图片盗链
Jan 20 PHP
php采用curl模仿登录人人网发布动态的方法
Nov 07 PHP
PHP访问Google Search API的方法
Mar 05 PHP
PHP封装的字符串加密解密函数
Dec 18 PHP
PHP记录页面停留时间的方法
Mar 30 PHP
利用php的ob缓存机制实现页面静态化方法
Jul 09 PHP
php实现获取农历(阴历)、节日、节气的类与用法示例
Nov 20 PHP
浅谈Laravel模板实体转义带来的坑
Oct 22 PHP
laravel使用数据库测试注意事项
Apr 10 PHP
详解Laravel制作API接口
May 31 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
收音机的保养
2021/03/01 无线电
HTML中嵌入PHP的简单方法
2016/02/16 PHP
ThinkPHP使用Ueditor的方法详解
2016/05/20 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
php-fpm重启导致的程序执行中断问题详解
2019/04/29 PHP
js继承的实现代码
2010/08/05 Javascript
jQuery prev ~ siblings选择器使用介绍
2013/08/09 Javascript
JS实现静止元素自动移动示例
2014/04/14 Javascript
jQuery找出网页上最高元素的方法
2015/03/20 Javascript
JS模式之单例模式基本用法
2015/06/30 Javascript
Bootstrap在线电子商务网站实战项目5
2016/10/14 Javascript
webpack独立打包和缓存处理详解
2017/04/03 Javascript
从零开始学习Node.js系列教程之设置HTTP头的方法示例
2017/04/13 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
2018/03/03 Javascript
解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题
2019/10/25 Javascript
微信小程序工具函数封装
2019/10/28 Javascript
[01:15:56]2018DOTA2亚洲邀请赛3月30日 小组赛A组 TNC VS Newbee
2018/03/31 DOTA
Python 序列的方法总结
2016/10/18 Python
Python+matplotlib实现填充螺旋实例
2018/01/15 Python
Python实现自定义顺序、排列写入数据到Excel的方法
2018/04/23 Python
详解Django 中是否使用时区的区别
2018/06/14 Python
pycharm配置pyqt5-tools开发环境的方法步骤
2019/02/11 Python
pytorch使用Variable实现线性回归
2019/05/21 Python
python占位符输入方式实例
2019/05/27 Python
python 矢量数据转栅格数据代码实例
2019/09/30 Python
Python如何创建装饰器时保留函数元信息
2020/08/07 Python
HTML5新特性之用SVG绘制微信logo
2016/02/03 HTML / CSS
巴西家用小家电购物网站:Polishop
2016/08/07 全球购物
洲际酒店集团美国官网:IHG美国
2017/11/16 全球购物
英国最受信任的在线眼镜商之一:Fashion Eyewear
2019/10/31 全球购物
德国高尔夫商店:Par71.de
2020/11/29 全球购物
美国椅子和沙发制造商:La-Z-Boy
2020/10/25 全球购物
Web Service面试题:如何搭建Axis2的开发环境
2012/06/20 面试题
总经理岗位职责
2013/11/09 职场文书
2014年网络管理员工作总结
2014/12/01 职场文书
我爱我班主题班会
2015/08/13 职场文书