前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >if和else匹配问题以及switch问题

if和else匹配问题以及switch问题

作者头像
苦咖啡
发布2018-05-07 18:04:53
7600
发布2018-05-07 18:04:53
举报
文章被收录于专栏:我的博客

$b = 1; $a = 2; if ($a > 1) { echo ‘1’; if ($b > 2) { echo ‘2’; } } else { echo ‘3’; }

这样的代码是很规范的,但是,如果你不带{}的括号,你执行之后显示的结果会让你很纠结的~~我认为else匹配最近的一个if,问题就在这里!原来不带{}的时候会这样子滴。

然后说一个switch问题的比较问题

$a = 5; switch ($a) { case $a > 3: echo ‘大于3’; break; case $a == 3: echo ‘等于3’; break; case $a < 3: echo ‘小于3’; break; }

然后我们把$a = 5改成$a = 0;然后会看到~~(你先想想)

结果竟然是!!大于3!!

然后我们再做点调整再$a = 5改成$a = 2.0,这样我们就会看到~~唉,还是你自己写出来看看吧

其实有的时候结果是和你想像的不一样的~~注意Swtich的语法

PS:工作原理:首先设置表达式 n(通常是一个变量)。随后表达式的值会与结构中的每个 case 的值做比较。如果存在匹配,则与该 case 关联的代码块会被执行。请使用 break 来阻止代码自动地向下一个 case 运行。

也就是说switch中的case是确定的值而不是进行比较的值!很好玩吧?

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2013年1月23日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档