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
dede全站URL静态化改造[070414更正]
Apr 17 PHP
PHP中的string类型使用说明
Jul 27 PHP
php中++i 与 i++ 的区别
Aug 08 PHP
php mssql扩展SQL查询中文字段名解决方法
Oct 15 PHP
探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法
Jun 06 PHP
让codeigniter与swfupload整合的最佳解决方案
Jun 12 PHP
php接口数据加密、解密、验证签名
Mar 12 PHP
经典PHP加密解密函数Authcode()修复版代码
Apr 05 PHP
[原创]CI(CodeIgniter)简单统计访问人数实现方法
Jan 19 PHP
PDO::prepare讲解
Jan 29 PHP
PHP mkdir创建文件夹实现方法解析
Nov 13 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 5.0对象模型深度探索之绑定
2006/09/05 PHP
上传多个文件的PHP脚本
2006/11/26 PHP
PHP clearstatcache()函数详解
2010/03/02 PHP
MySQL 日期时间函数常用总结
2012/06/12 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
2019/09/30 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
2020/04/13 PHP
js checkbox(复选框) 使用集锦
2009/04/28 Javascript
了解一点js的Eval函数
2012/07/26 Javascript
如何实现chrome浏览器关闭页面时弹出“确定要离开此面吗?”
2015/03/05 Javascript
javascript格式化json显示实例分析
2015/04/21 Javascript
Bootstrap创建可折叠的组件
2016/02/23 Javascript
vuejs父子组件通信的问题
2017/01/11 Javascript
JS中传递参数的几种不同方法比较
2017/01/20 Javascript
AngularJS学习第二篇 AngularJS依赖注入
2017/02/13 Javascript
原生javascript移动端滑动banner效果
2017/03/10 Javascript
使用 Vue.js 仿百度搜索框的实例代码
2017/05/09 Javascript
Centos6.8下Node.js安装教程
2017/05/12 Javascript
详解AngularJS脏检查机制及$timeout的妙用
2017/06/19 Javascript
基于js粘贴事件paste简单解析以及遇到的坑
2017/09/07 Javascript
微信小程序实现单选选项卡切换效果
2020/06/19 Javascript
vue 实现微信浮标效果
2019/09/01 Javascript
[03:17]2014DOTA2 国际邀请赛中国区预选赛 四强专访
2014/05/23 DOTA
python解析xml文件操作实例
2014/10/05 Python
Python3.2中Print函数用法实例详解
2015/05/19 Python
批量获取及验证HTTP代理的Python脚本
2017/04/23 Python
python实现公司年会抽奖程序
2019/01/22 Python
Python模拟百度自动输入搜索功能的实例
2019/02/14 Python
Python matplotlib生成图片背景透明的示例代码
2019/08/30 Python
python的setattr函数实例用法
2020/12/16 Python
实习评语大全
2014/04/26 职场文书
房屋租赁合同解除协议书
2014/10/11 职场文书
公司租房协议书
2014/10/14 职场文书
在职证明格式样本
2015/06/15 职场文书
Django如何创作一个简单的最小程序
2021/05/12 Python
PostgreSQL并行计算算法及参数强制并行度设置方法
2022/04/06 PostgreSQL
Mac电脑OS系统下安装Nginx的详细教程
2022/04/14 Servers