展开目录
php switch的问题
php
X
陈尼玛的博客
记录开发生涯的踩坑经历,用时间来验证成长
加载中

用惯了js中的switch,习惯的认为php中也应该是用===来比较的,但是实际用了后才发现这种想法错了。

为了根据返回的值计算实际对应的参数,我使用了switch结构来写,代码抽离如下:

function getText($code){
  switch($code){
    case 0:return 'x';
    case 1:return 'y';
    default:return 'z';
  }
}
echo getText(0);
echo getText(null);

期待的结果应该是 xz,但是实际上输出却是 xx。我看到这个结果唯一能想到的答案就是switch用了==来判断而不是===,于是我阅读了php手册中switch的描述。验证了我的猜想,确实使用的是双等号的松散比较。

虽然是php的规范设计,但是用着确实挺蛋疼的,所以我以后应该会避免使用php的switch语法,这个知识点就暂时记下了。。

相关文档

  1. 随机取某个概率区间的代码

  2. php session文件过多的问题

  3. php5.2.17 curl openssl的配置踩坑

  4. x64系统编译php5.3报错

  5. 无脑破解phpjm加密

  6. php解析ini文件

  7. 无聊的刷屏

  8. PHP使用SMTP发送邮件

随便看看

  1. windows电脑防止自动休眠

  2. 记一次nodejs内存泄漏的排查经历

  3. 华为等国产手机rem宽度超过实际宽度

  4. raw.githubusercontent.com DNS被指向127.0.0.1

  5. SSL certificate problem: self signed certificate in certificate chain

  6. nodejs socks5

  7. jxa运动指令脚本

  8. nodejs俄罗斯方块

  9. webrtc泄漏本地ip信息

  10. linux自启动/禁止自启动服务

  11. git配置服务端支持http认证

  12. ssl 证书生成方式

  13. mac搜索局域网内的主机

  14. 猴子选大王算法问题

  15. centos7 开放或者关闭端口

  16. 简易版事件封装

  17. 随机取某个概率区间的代码

  18. 配置mysql ssl连接

畅言模块加载中