switch 语句类似于具有同一个表达式的一系列 if 语句。很多场合下需要把同一个变量(或表达式)与很多不同的值比较,并根据它等于哪个值来执行不同的代码。这正是 switch 语句的用途。

使用switch 可以使代码显得更简洁。

如下:

$a = '2';
switch ($a){case 2 === $a:echo '(int) 2<br />';break;case '2' === $a:echo '(string) 2<br />';break;default:echo 'no';break;
}

输出:(string) 2

使用switch 有几个需要注意的点:

1. 每一个case之后应追加break;否则会进行连续判断。举个例子:

$a = '2';
switch ($a){case 2 === $a:echo '(int) 2<br />';break;case '2' === $a:echo '(string-1) 2<br />';
//        break;case 2 == $a:echo '(string-2) 2<br />';break;default:echo 'no';break;
}

输出:

(string-1) 2
(string-2) 2

2. 使用强类型判断,例子还是如上。 因PHP是弱类型语言,他会自动根据变量的值,自动把变量转换为正确

的数据类型。

请注意,不要因为上面的原因,造成不必要的困扰。

关于switch的一些理解相关推荐

  1. php中switch语句的理解,php中switch语句的使用详解

    我们之前给大家介绍了关于php中switch语句的介绍,我们都知道php中switch语句是循环语句,是一个开关语句,那么很多朋友都只知道简单的switch开关语句的用法了,今天就带大家了解一下php ...

  2. C++中关于switch的一些理解

    switch的格式有以下部分: int number=11; //省略命名空间等前缀 switch (number) {case 10:statement 1;break;case 11:statem ...

  3. 【C语言】switch语句的理解

    文章目录 一. 基本语法结构 二. 几点补充 补充一:关于 default 分支 补充二:多条匹配执行同一语句 补充三:在 case 语句中定义变量的问题 三. 几点建议 建议一:按执行频率排列 ca ...

  4. C语言case后语句省略不写,switch语句基础理解与分析

    switch语句和if语句最为相似,语法接近C语言. switch(expression) { case   value:  statement break; case   value:  state ...

  5. switch和case的理解

    下面是复习java基础知识的时候,发现的一些点,总结下,备忘 int a=345;switch (a) {case 23:System.out.println("23"); // ...

  6. 深入理解JVM文章合集

    原文地址:http://ddrv.cn/a/88331 Java动态追踪技术探究 在Java虚拟机中,字符串常量到底存放在哪 一次生产 CPU 100% 排查优化实践 聊聊 Java 虚拟机:类的加载 ...

  7. 精解C++的switch语句

    入门书籍对switch语句的介绍相对较浅,我也因此而产生了很多想当然的误解.为解惑而写了以下一小篇精解switch语句,相信会对很多朋友有所帮助,同时顺便补充一些相关知识. 先抛出个题目,见下程序: ...

  8. c语言switch scanf语句,C语言中scanf函数与switch语句

    ----------------switch---------------- 1)使用格式 switch(表达式){ case 常量表达式1: 语句1; case 常量表达式2: 语句2; ... c ...

  9. c语言中switch结构,switch结构c语言

    C语言中switch结构的使用 用switch结构编制程序,输入1个学生的C语言课程考试成绩(百分制整形数因为case后面不能接范围,也就是说case后面是一个确实固定的常量.用下面的方法比较好, # ...

最新文章

  1. oracle易忘函数用法(3)
  2. Java中的数组怎么弄随机数_Java – 如何从值数组中创建随机数
  3. c语言中aver是什么意思_Linux系统top命令中的io使用率,到底是什么意思?
  4. Python装饰器(一)
  5. oracle+solaris+密码,Oracle Solaris 10回滚补丁文件密码哈希泄露漏洞
  6. python separator_在Python中使用分隔符变量拆分字符串
  7. Linux入门之磁盘管理(3)文件系统挂载
  8. ubuntu下安装python的gevent模块遇到的一个问题
  9. 服务器机械硬盘坏了怎么修复,硬盘修复软件:如何修复硬盘错误?
  10. 阿里云抢月饼代码实验,自己写着玩的
  11. Rayson API 框架分析系列之5: NIO实现原理
  12. java计算机毕业设计高校学生党建管理系统源码+mysql数据库+系统+lw文档+部署
  13. workflow (1)
  14. Java实现Zip压缩包解压
  15. 远程工具之一---rsync用法介绍
  16. Day01JAVA入门
  17. PCIe链路训练link training
  18. 创新发展,科技制胜 | 云扩科技入选“2022中小企业智能化解决方案提供商TOP10”
  19. ArcPro如何缩放至选择要素(Arcpy)
  20. Tasker 微信防撤回2.0

热门文章

  1. 2022年测绘资质怎么办理及办理流程?
  2. Android基础之错误Failed to install
  3. python录屏实现
  4. C# 压缩PDF文档
  5. 了解实时时钟RTC的原理并通过stm32实现STM32的日历读取、设置和输出
  6. python 括号 中 不需要 反斜杠_如何消除反斜杠后的空白(Python3.4)
  7. PostgreSQL 插入数据报错:column “xxx“ does not exist 解决方法
  8. js获取当前浏览器类型 和IE浏览器版本
  9. 0x800700c1添加语言,win10检查更新失败,错误代码 0x800700c1
  10. 离散数学在计算机科学中的应用