文档章节

详解php中switch你可能不知道的事

白俊遥
 白俊遥
发布于 2016/03/13 23:23
字数 208
阅读 11
收藏 0

switch的常规用法是传递一个参数然后逐一跟case对比;

switch (variable) {
    case 'value':
        // code...
        break;
    
    default:
        // code...
        break;
}

在分支比较多的时候;switch要比if else if好用;比如;

if('value'){
    // code...
}else if('value2'){
    // code...
}else if('value3'){
    // code...
}else if('value4' || 'value5'){
    // code...
}

用switch来写的话就是这样的,可以传递true;每个case就相当于一个else if;

switch ('value') {
    case 'value1':
        // code...
        break;
    case 'value2':
        // code...
        break;
    case 'value3':
        // code...
        break;
    case 'value4':
    case 'value5':
        // code...
        break;
}

但是需要注意的是switch是松比较;也就是说如下这段代码每个case都能满足;

switch (123) {
    case 'string':
        // code...
        break;
    case 'string2':
        // code...
        break;
    case 'string3':
        // code...
        break;
}

解决这个问题的办法就是在传参的时候转为字符串string型;

switch (strval(123)) {
    case 'string':
        // code...
        break;
    case 'string2':
        // code...
        break;
    case 'string3':
        // code...
        break;
}

白俊遥博客


© 著作权归作者所有

白俊遥
粉丝 17
博文 58
码字总数 28701
作品 3
朝阳
程序员
私信 提问
深入理解switch case

switch case语句是我们编程中常用的一个表达式。它的语法如下1: 我们平时基本也就是按照这个语法规则来写switch case。仔细想想里面其实有几个问题值得好好想想。 问题1: 每个case都需要一...

一只Ivy
2018/12/06
0
0
【译】为什么我更喜欢对象而不是switch语句

原文自工程师Enmanuel Durán博客,传送门 最近(或者不是最近,这完全取决于您什么时候阅读这边文章),我正在跟我的团队伙伴讨论如何去处理这种需要根据不同的值去处理不同的情况的方法,通...

广州芦苇科技web前端
02/27
0
0
再论关于如何学习网络编程

前些天在一个论坛上和一位朋友争论了学习网络编程的方法,而后发表了《TCP协议疑难杂症全景解析》,不算猛文,但也得到了一些回应,大家都是对Richard Stevens的两本书情有独钟:《TCP/IP详解...

晨曦之光
2012/04/10
387
1
tech| 技术分享: 加解密那些事儿

date: 2018-7-10 15:06:46 title: tech| 技术分享: 加解密那些事儿 description: 浅谈加解密的技术栈, 详解常见的几种用法, 八一八有趣的人和事 关于加解密, 需要补充的基础知识: https权威指...

daydaygo
2018/08/18
0
0
【android乱七八糟】关于OnClickListener事件中加switch语句讨论

是这样的,我从A这个activity中转到B这个activity中同时根据A中的点击事件传递一个相应参数key过去。 在B这个activity中取出key值。 然后B这个activity对应的界面中有一个按钮,这个按钮要添...

挨踢人生
2012/04/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

在阿里云ecs服务器(linux之centos系统)安装调试nginx

购买阿里云ecs服务器实例 由于这里只是测试,我们就随便买一个(当然我就选最便宜的了,这里的抢占式实例测试完可以直接释放) 选择centos7.6镜像 点击下一步:网络和安全组 接下来选中开通h...

祖达
昨天
2
0
【阴阳师】真蛇10层记录

蛇切黑体系 追月神 散件一速,速度越高越好(220+) 镰鼬 招财二速,速度211以上; 山兔 火灵三速,速度180-200均可; 丑女 心眼四速,速度170左右即可; 大蛇 蚌精暴击套。速度高于阴阳师即...

Areya
昨天
4
0
js动态设置元素高度

this.$refs.xxx.style.height= this.contentHeight; 元素需要绑定

Carbenson
昨天
2
0
今天的学习

今天学到了ci框架中的查询语句的where条件语句: 1、$this->db->select('')->from('')->where('id = ??')->get()->result_array();2、$this->db->select('')->from('')->where('id', '??'......

墨冥
昨天
2
0
MySQL在高并发下的订单撮合、系统使用、共享锁与排他锁保证数据一致性

前序 距离上次择文发表,两月余久。2018年也即将要结束了,目前的工作依然是与区块链应用相关的,也很荣幸在9月初受邀签约出版暂名为《区块链以太坊DApp实战开发》一书,预计在明年年初出版。...

我最喜欢三大框架
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部