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 相关文章推荐
第九节 绑定 [9]
Oct 09 PHP
PHP中的加密功能
Oct 09 PHP
php Ajax乱码
Apr 09 PHP
需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
May 26 PHP
php去除字符串换行符示例分享
Feb 13 PHP
php自定义session示例分享
Apr 22 PHP
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
Jun 05 PHP
一个完整的PHP类包含的七种语法说明
Jun 04 PHP
PHP多维数组转一维数组的简单实现方法
Dec 23 PHP
Laravel框架路由设置与使用示例
Jun 12 PHP
php从数据库读取数据,并以json格式返回数据的方法
Aug 21 PHP
Laravel相关的一些故障解决
Aug 19 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多文件上传实现方法
2014/10/31 PHP
thinkphp判断访客为手机端或PC端的方法
2014/11/24 PHP
PHP中遇到的时区问题解决方法
2015/07/23 PHP
PHP中spl_autoload_register()函数用法实例详解
2016/07/18 PHP
如何打开php的gd2库
2017/02/09 PHP
JavaScript的document对象和window对象详解
2010/12/30 Javascript
Extjs3.0 checkboxGroup 动态添加item实现思路
2013/08/14 Javascript
javascript 获取图片尺寸及放大图片
2013/09/04 Javascript
JS获取图片高度宽度的方法分享
2015/04/17 Javascript
Bootstrap每天必学之媒体对象
2015/11/30 Javascript
JavaScript Ajax实现异步通信
2016/12/14 Javascript
jquery dataview数据视图插件使用方法
2016/12/23 Javascript
原生js实现手风琴功能(支持横纵向调用)
2017/01/13 Javascript
基于node简单实现RSA加解密的方法步骤
2019/03/21 Javascript
解决vue 单文件组件中样式加载问题
2019/04/24 Javascript
IDEA安装vue插件图文详解
2019/09/26 Javascript
微信小程序自定义底部弹出框动画
2020/11/18 Javascript
Node.js中的异步生成器与异步迭代详解
2021/01/31 Javascript
[41:56]Spirit vs Liquid Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
[00:43]拉比克至宝魔导师密钥展示
2018/12/20 DOTA
python根据给定文件返回文件名和扩展名的方法
2015/03/27 Python
Python通过Django实现用户注册和邮箱验证功能代码
2017/12/11 Python
python与mysql数据库交互的实现
2020/01/06 Python
Python函数参数定义及传递方式解析
2020/06/10 Python
CSS3制作Dropdown下拉菜单的方法
2015/07/18 HTML / CSS
canvas像素画板的实现代码
2018/11/21 HTML / CSS
国税会议欢迎词
2014/01/16 职场文书
活动邀请函范文
2014/01/19 职场文书
简历中的自我评价怎么写
2014/01/29 职场文书
士力架广告词
2014/03/20 职场文书
采购部长岗位职责
2014/06/13 职场文书
社区志愿者活动方案
2014/08/18 职场文书
乡镇八一建军节活动方案
2014/08/24 职场文书
学校中秋节活动总结
2015/03/23 职场文书
「地球外少年少女」BD发售宣传CM公开
2022/03/21 日漫
面试官问我Mysql的存储引擎了解多少
2022/08/05 MySQL