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来处理多个提交任务
May 08 PHP
php中获取远程客户端的真实ip地址的方法
Aug 03 PHP
PHP+MYSQL会员系统的登陆即权限判断实现代码
Sep 23 PHP
php保存二进制原始数据为图片的程序代码
Oct 14 PHP
PHP静态文件生成类实例
Nov 29 PHP
php随机显示指定文件夹下图片的方法
Jul 13 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
Mar 29 PHP
YII2框架中使用yii.js实现的post请求
Apr 09 PHP
PHP模糊查询技术实例分析【附源码下载】
Mar 07 PHP
PHP生成随机字符串实例代码(字母+数字)
Sep 11 PHP
Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解
Oct 11 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
Mar 26 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 和 XML: 使用expat函数(一)
2006/10/09 PHP
discuz论坛 用户登录 后台程序代码
2008/11/27 PHP
php浏览历史记录的方法
2015/03/10 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
2017/05/20 PHP
Redis在Laravel项目中的应用实例详解
2017/08/11 PHP
javascript编程起步(第六课)
2007/02/27 Javascript
学习YUI.Ext第七日-View&amp;JSONView Part Two-一个画室网站的案例
2007/03/10 Javascript
JavaScript页面刷新与弹出窗口问题的解决方法
2010/03/02 Javascript
JQuery自适应IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
2011/03/28 Javascript
jQuery ReferenceError: $ is not defined 错误的处理办法
2013/05/10 Javascript
Js点击弹出下拉菜单效果实例
2013/08/12 Javascript
jQuery实现的感应鼠标悬停图片色彩渐显效果
2015/03/03 Javascript
JavaScript实现上下浮动的窗口效果代码
2015/10/12 Javascript
JS中使用FormData上传文件、图片的方法
2016/08/07 Javascript
js实现无缝滚动图
2017/02/22 Javascript
详解nodeJS中读写文件方法的区别
2017/03/06 NodeJs
JS手机端touch事件计算滑动距离的方法示例
2017/10/26 Javascript
浅谈JsonObject中的key-value数据解析排序问题
2017/12/06 Javascript
详解vue 兼容IE报错解决方案
2018/12/29 Javascript
通过图带你深入了解vue的响应式原理
2019/06/21 Javascript
[03:12]完美世界DOTA2联赛PWL DAY6集锦
2020/11/05 DOTA
python进阶教程之循环对象
2014/08/30 Python
Python使用PIL库实现验证码图片的方法
2016/03/11 Python
Python实现压缩与解压gzip大文件的方法
2016/09/18 Python
python3+PyQt5使用数据库窗口视图
2018/04/24 Python
Python中Numpy mat的使用详解
2019/05/24 Python
python 生成器和迭代器的原理解析
2019/10/12 Python
python实现在线翻译功能
2020/03/03 Python
python 元组和列表的区别
2020/12/30 Python
德国帽子专家:Hutshopping
2019/11/03 全球购物
火锅店的活动方案
2014/08/15 职场文书
酒店销售经理岗位职责
2015/04/02 职场文书
外出听课学习心得体会
2016/01/15 职场文书
PHP基本语法
2021/03/31 PHP
TensorFlow的自动求导原理分析
2021/05/26 Python
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript