深入PHP中慎用双等于(==)的详解


Posted in PHP onJune 06, 2013

PHP比较运算符出现的频率实在是太高了,尤其是 ==
if(a == b){
// do something
}
但是,你真的掌握了 == 了吗?细节很重要!
来看下面的代码,说出你认为正确的答案
var_dump('  123fg456'==123);
var_dump('some string' == 0);
var_dump(123.0 == '123d456');
var_dump(0 == "a");
var_dump("1" == "01");
var_dump("1" == "1e0");
先想出你的答案,然后再运行一次看看。如果答案没有差错,那么恭喜你,基础知识很扎实。

解释:
如果比较一个整数和字符串,则字符串会被转换为整数。如果比较两个数字字符串,则作为整数比较。此规则也适用于 switch 语句。
特别注意,字符串转换为整数时,是从左到右,直到遇到非数字字符为止。也就是说 '123abc456' 会被转换成 123,而不是 123456。另外字符串开始的空格会被忽略,比如 '   234abc' 转换为 234。
下面附上松散比较和严格比较的对照表
深入PHP中慎用双等于(==)的详解

PHP 相关文章推荐
利用PHP实现与ASP Banner组件相似的类
Oct 09 PHP
Mysql的GROUP_CONCAT()函数使用方法
Mar 28 PHP
PHP异步调用socket实现代码
Jan 12 PHP
浏览器关闭后,能继续执行的php函数(ignore_user_abort)
Aug 01 PHP
php中stream(流)的用法
Mar 25 PHP
ThinkPHP惯例配置文件详解
Jul 14 PHP
php实现猴子选大王问题算法实例
Apr 20 PHP
thinkPHP模板中for循环与switch语句用法示例
Nov 30 PHP
PHP微信模板消息操作示例
Jun 29 PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
Oct 26 PHP
PHP基于回溯算法解决n皇后问题的方法示例
Nov 07 PHP
laravel框架使用极光推送消息操作示例
Feb 15 PHP
解析PHP中如何将数组变量写入文件
Jun 06 #PHP
浅谈PHP强制类型转换,慎用!
Jun 06 #PHP
探讨file_get_contents与curl效率及稳定性的分析
Jun 06 #PHP
$_GET['goods_id']+0 的使用详解
Jun 06 #PHP
PHP编码规范的深入探讨
Jun 06 #PHP
PHP输出XML到页面的3种方法详解
Jun 06 #PHP
PHP转换文件夹下所有文件编码的实现代码
Jun 06 #PHP
You might like
后宫无数却洁身自好的男主,唐三只爱小舞
2020/03/02 国漫
Terran剧情介绍
2020/03/14 星际争霸
攻克CakePHP系列一 连接MySQL数据库
2008/10/22 PHP
PHP实现的一致性哈希算法完整实例
2015/11/14 PHP
PHP实现的网站目录扫描索引工具
2016/09/08 PHP
PHP PDOStatement::getAttribute讲解
2019/02/01 PHP
利用JS自动打开页面上链接的实现代码
2011/09/25 Javascript
Js冒泡事件详解及阻止示例
2014/03/21 Javascript
jQuery防止click双击多次提交及传递动态函数或多参数
2014/04/02 Javascript
jquery删除ID为sNews的tr元素的内容
2014/04/10 Javascript
js通过keyCode值判断单击键盘上某个键,然后触发指定的事件方法
2017/02/19 Javascript
node.js+jQuery实现用户登录注册AJAX交互
2017/04/28 jQuery
layui前段框架日期控件使用方法详解
2017/05/19 Javascript
Vue自定义toast组件的实例代码
2018/08/15 Javascript
详解Vue实战指南之依赖注入(provide/inject)
2018/11/13 Javascript
nodejs 使用 js 模块的方法实例详解
2018/12/04 NodeJs
node中实现删除目录的几种方法
2019/06/24 Javascript
React生命周期原理与用法踩坑笔记
2020/04/28 Javascript
vue+element-ui表格封装tag标签使用插槽
2020/06/18 Javascript
three.js欧拉角和四元数的使用方法
2020/07/26 Javascript
从表单校验看JavaScript策略模式的使用详解
2020/10/17 Javascript
总结用Pdb库调试Python的方式及常用的命令
2016/08/18 Python
详解tensorflow实现迁移学习实例
2018/02/10 Python
详解Python中如何写控制台进度条的整理
2018/03/07 Python
简单了解python高阶函数map/reduce
2019/06/28 Python
美国一家专业的太阳镜网上零售商:Solstice太阳镜
2016/07/25 全球购物
新西兰航空中国官网:Air New Zealand China
2018/07/24 全球购物
澳洲CFL商城:CHEMIST FOR LESS(中文)
2021/02/28 全球购物
介绍一下HDLC(High-Level Data Link Control)高层数据链路协议
2012/01/21 面试题
造型师求职自荐信
2013/09/27 职场文书
成人毕业生自我鉴定
2013/10/18 职场文书
总经理驾驶员岗位职责
2013/12/04 职场文书
新年联欢会主持词
2014/03/27 职场文书
汽车服务工程专业自荐信
2014/09/02 职场文书
出纳岗位职责
2015/01/31 职场文书
2015年教师党员自我评价材料
2015/03/04 职场文书