为什么说妙用,因为很多人只知道定值判断,其实switch可以区间判断,而且还是每次只判断一个,所以写switch条件的时候,从小写到大,他取出来的符合条件的是第一个区间,看下面例子就明白了。

<?php
$a = 89;
switch ($a) {case ($a < 60):echo '不及格';break;case ($a < 80):echo '中等';break;case ($a < 90):echo '良';break;default:echo '优秀';break;
}

运行结果:

经评论区的一位朋友提醒,以上程序存在bug,switch…case实际是把switch里面的值与case里面的条件进行匹配,然后执行相应的分支,所以,当$a=0的时候,switch里面就是0==false,就只能匹配到default分支,因此会输出优秀。

因此,改正后的程序为:

<?php
$a = 0;
switch (true) {case ($a <= 59):echo '不及格';break;case ($a <= 80):echo '中等';break;case ($a <= 90):echo '良';break;default:echo '优秀';break;
}

注意:

php里面的switch会转换case类型,使用的时候一定要注意。
https://blog.csdn.net/u014433030/article/details/81031927

php中的switch判断妙用相关推荐

  1. js中三个判断的应用——if else、三元运算符、switch case

    js中三个判断的应用--if else.三元运算符.switch case 区别 if .else if.else 是最常用的判断,可以解决js中的所有的判断需求 三元运算符应用于简单的if else ...

  2. Go 学习笔记(62)— Go 中 switch 语句中的 switch 表达式和 case 表达式之间的关系

    switch 语句对 switch 表达式的结果类型,以及各个 case 表达式中子表达式的结果类型都是有要求的. 毕竟,在 Go 语言中,只有类型相同的值之间才有可能被允许进行判等操作. 1. sw ...

  3. php switch case 判断语句,PHP的switch判断语句的“高级”用法详解,switch详解_PHP教程...

    PHP的switch判断语句的"高级"用法详解,switch详解 只所以称为"高级"用法,是因为我连switch的最基础的用法都还没有掌握,so,接下来讲的其实 ...

  4. PHP使用Switch语句判断星座,PHP的switch判断语句的“高级”用法详解 用switch语句怎样判断成绩的等级...

    php switch case 求具体详解,case里面能加if语句? swich 语句 我非常喜欢用 case里面加if干嘛 . php switch中能加if语句吗 PHP里 switch cas ...

  5. [初级]Java中的switch对整型、字符型、字符串的具体实现细节

    转载自 [初级]Java中的switch对整型.字符型.字符串的具体实现细节 Java 7中,switch的参数可以是String类型了,这对我们来说是一个很方便的改进.到目前为止switch支持这样 ...

  6. java的case_java中的switch case语句使用详解

    java中的switch case语句 switch-case语句格式如下: switch(变量){ case 变量值1: //; break; case 变量值2: //...; break; .. ...

  7. oracle查询语句 switch,ORACLE SQL语句中的“SWITCH语句”函数DECODE

    下面这个例子介绍ORACLE SQL Functions对DECODE函数的用法,引自官方文档 SELECT product_id,        DECODE (warehouse_id, 1, ' ...

  8. C++语言中关于switch的用法

    关于switch的用法 在一些程序编写中绝对少不了判断语句. 如下面这个用if的简单的判断结构: #include<iostream> using namespace std;int ma ...

  9. Java中的Switch用法

    1,在java中switch后的表达式的类型只能为以下几种:byte.short.char.int(在Java1.6中是这样),   在java1.7后支持了对string的判断 public cla ...

最新文章

  1. SAP 对HU做转库操作,系统报错 - 系统状态HUAS是活动的 - 分析
  2. java 加密算法 base64
  3. Linux磁盘管理——df、du、磁盘分区、格式化、挂载、LVM
  4. 工程师和科学家有什么区别
  5. 单峰数组找最大元素C语言,查找单峰数组中的第k个元素
  6. Macbook怎么关闭磁盘“未正确推出”提示
  7. (五)深度学习和ResNet50的COVID-19诊断结果
  8. 2013应届毕业生“人人网”校招应聘总结
  9. C++ 链表入门习题
  10. Oracle RAC -常见CRS命令
  11. Cartographer+LOAM+ LIO-SAM核心算法与源码剖析(室内+室外)
  12. 华为鸿蒙状态栏,华为手机状态栏图标都代表什么
  13. 2014驾考科目二倒车入库技巧
  14. 计算机网络总是识别不了怎么办,电脑连wifi总是正在识别怎么办
  15. 百面机器学习2---模型评估
  16. 摄像头录像时出现连接错误
  17. DirectShow 简介
  18. 分子动力学开源分析软件MDAnalysis安装介绍及使用
  19. HttpClient的POST请求提示302问题解决
  20. 基于遗传算法的大规模工程优化设计方法初探

热门文章

  1. 力扣49题 字母异位词分组
  2. 射频功放学习之ADS设计单频点功率放大器
  3. 说说SIGCLD和SIGCHLD
  4. poi-tl-ext扩展,实现多行表格模板替换
  5. Shell函数中传参
  6. 汇总2021年使用智一面校招招聘的Top6技术岗位有哪些?
  7. j计算机相关知识了解农业常识,精准农业知识点提要
  8. main函数参数(关于argc与argv)
  9. mysql 左对齐_mysql
  10. Java 1.10(以英里计的平均速度)假设一个跑步者45分30秒跑了14千米。编写一个程序显示以每小时多少英里为单位的平均速度值。(注意,1英里约等于1.6千米。)