PHP switch分支语句中省略break后还会执行其他case的原因分析
请分析以下PHP代码的输出结果:
$a= 'dog';
switch($a) {
case 'cat':
echo "\$a is cat";
case 'dog':
echo "\$a is dog";
case 'pig':
echo "\$a is pig";
}
最终的输出结果是:$a is dog $a is pig
原因分析:
switch会根据条件,跳转到第一个匹配的case处开始执行。case只是一个供switch跳转的标记,并没有划分区块的作用。所以即使有多个case与switch匹配,也只会跳转到第一个匹配的case开始往下执行。如果不break, 会从匹配的第一个case开始,一直执行到整个switch结构结束。
PHP switch分支语句中省略break后还会执行其他case的原因分析的更多相关文章
- Java基础知识强化19:Java中switch分支语句
java中switch语句: 这里expression控制表达式的数据类型只能是byte.short.char.int四种整型类型和枚举类型,不能是boolean类型: Java7(1.7)改进了sw ...
- linux自动化交互脚本expect详解set timeout 5是 意思是在expect语句中,5s后超时,不再作出选择。
linux自动化交互脚本expect详解 更新时间:2020年10月21日 10:13:20 作者:lendsomething 这篇文章主要介绍了linux自动化交互脚本expect的相 ...
- 浅谈Java中switch分支语句
前言: 在程序中遇到多分支选择的时候,想必大家都喜欢用if...else if...else...语句,尤其是初学者,因为在了解switch语句之前,我也是只会用if...else语句.那么现在看完这 ...
- 关于Switch case条件语句中无break的用法
关于Switch case条件语句的另类用法 今天在拜读一位前辈的程序时,遇到了这样一段程序: /***************************/ switch(operation ...
- C语言入门(11)——switch分支语句
C语言提供了一种用于多分支选择的switch语句, 其一般形式为: switch(表达式) { case 常量表达式1:语句1; break; case 常量表达式2:语句2; break; .... ...
- JS switch 分支语句
描述:根据一个变量的不同取值,来执行不同的代码. 语法结构: switch(变量) { case 值1: 代码1; break; case 值2: 代码2; break; case 值3: 代码3; ...
- switch分支语句
语句句式 Calendar c = Calendar.getInstance(); //获得一周的某天 int i = c.get(Calendar.DAY_OF_WEEK); switch (i) ...
- 循环语句中,break和continue分别有什么作用?
break用于强行退出循环,不执行循环中剩余的语句 continue用于跳过本次循环, 不执行continue后的语句, 继续下一次循环
- SQL 语句中 where 条件后 写上1=1 的意思
这段代码应该是由程序(例如Java)中生成的,where条件中 1=1 之后的条件是通过 if 块动态变化的.例如: String sql="select * from table_nam ...
随机推荐
- CF431C k-Tree dp
Quite recently a creative student Lesha had a lecture on trees. After the lecture Lesha was inspired ...
- 商品录入功能v1.0【持续优化中...】
# 录入商品 def goods_record(): print("欢迎使用铜锣辉的购物商城[商品管理][录入商品]".center(30, "*")) whi ...
- 06-图2 Saving James Bond - Easy Version (25 分)
This time let us consider the situation in the movie "Live and Let Die" in which James Bon ...
- css属性 盒子模型
一. css属性相关 1.宽和高 1.width可以为元素设置宽度 2. height可以为元素设置高度 3.只有块级标签才可以设置宽度和高度,内联标签并不能设置宽度和高度,及时设置了也不 ...
- Windows下 virtualenv 使用
Windows下 virtualenv 使用 win python virtualenv 首先在电脑上安装两个不同版本的python mkvirtualenv --python C:\Python34 ...
- Linux用户登录信息
1.用户登录日志信息 /var/run/utmp:记录当前正在登录系统的用户信息,默认由who和w记录当前登录用户的信息,uptime记录系统启动时间: /var/log/wtmp:记录当前正在登录和 ...
- linux开机启动服务学习chkconfig命令
选项: --add:增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据: --del:删除所指定的系统服务,不再由chkconfig指令管理,并同时在系 ...
- Forbidden You don't have permission to access XXX on this server
Forbidden You don't have permission to access / on this server. 找到 apache 配置文件 httpd.conf 把里面的 <D ...
- RTT之AT命令组件
包含客户端和服务器:用于GPRS和3G的通讯命令格式.四种基本功能 测试功能:AT+<x>=? 用于查询命令参数格式及取值范围: 查询功能:AT+<x>? 用于返回命令参数当前 ...
- 性能测试工具LoadRunner31-LR之链接mysql
步骤: 1.建好mysql数据库并启动 2.下载libmysql.dll,放到保存脚本的文件夹下 3.编写脚本并运行 Action() { int rc; //定义状态变量,0表示成功,非0表示失败 ...