深入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 相关文章推荐
Windows下PHP5和Apache的安装与配置
Sep 05 PHP
谈谈新手如何学习PHP
Dec 14 PHP
解决MySQL中文输出变成问号的问题
Jun 05 PHP
php面向对象全攻略 (五) 封装性
Sep 30 PHP
php class中self,parent,this的区别以及实例介绍
Apr 24 PHP
CodeIgniter实现从网站抓取图片并自动下载到文件夹里的方法
Jun 17 PHP
详解WordPress中提醒安装插件以及隐藏插件的功能实现
Dec 25 PHP
PHP实现非阻塞模式的方法分析
Jul 26 PHP
laravel实现按时间日期进行分组统计方法示例
Mar 23 PHP
PHP 模拟登陆功能实例详解
Sep 10 PHP
php+mysql实现的无限分类方法类定义与使用示例
May 27 PHP
php的对象传值与引用传值代码实例讲解
Feb 26 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
PHP生成Gif图片验证码
2013/10/27 PHP
php中文字符串截取方法实例总结
2014/09/30 PHP
浅析php适配器模式(Adapter)
2014/11/25 PHP
PHP 绘制网站登录首页图片验证码
2016/04/12 PHP
微信红包随机生成算法php版
2016/07/21 PHP
13 个JavaScript 性能提升技巧分享
2012/07/26 Javascript
jQuery调用AJAX时Get和post公用的乱码解决方法实例说明
2013/06/04 Javascript
JS将制定内容复制到剪切板示例代码
2014/02/11 Javascript
JavaScript极简入门教程(一):基础篇
2014/10/25 Javascript
js动态切换图片的方法
2015/01/20 Javascript
js实现的倒计时按钮实例
2015/06/24 Javascript
js实现文字垂直滚动和鼠标悬停效果
2015/12/31 Javascript
AngularJS上拉加载问题解决方法
2016/05/23 Javascript
面试常见的js算法题
2017/03/23 Javascript
vue-router实现组件间的跳转(参数传递)
2017/11/07 Javascript
手把手教你使用vue-cli脚手架(图文解析)
2017/11/08 Javascript
基于jquery实现左右上下移动效果
2018/05/02 jQuery
Vue多系统切换实现方案
2018/06/05 Javascript
vue 下列表侧滑操作实例代码详解
2018/07/24 Javascript
详解如何制作并发布一个vue的组件的npm包
2018/11/10 Javascript
webpack结合express实现自动刷新的方法
2019/05/07 Javascript
Django模板继承 extend标签实例代码详解
2019/05/16 Javascript
通过vue写一个瀑布流插件代码实例
2019/09/07 Javascript
如何利用Node.js与JSON搭建简单的动态服务器
2020/06/16 Javascript
微信小程序实现可拖动悬浮图标(包括按钮角标的实现)
2020/12/29 Javascript
JS中箭头函数与this的写法和理解
2021/01/14 Javascript
Python中用于计算对数的log()方法
2015/05/15 Python
在Python中处理字符串之isdecimal()方法的使用
2015/05/20 Python
python strip() 函数和 split() 函数的详解及实例
2017/02/03 Python
PyTorch中model.zero_grad()和optimizer.zero_grad()用法
2020/06/24 Python
html5 CSS过度-webkit-transition使用介绍
2013/07/02 HTML / CSS
新英格兰最大的特色礼品连锁店:The Paper Store
2018/07/23 全球购物
汽修专业学生自我鉴定
2013/11/16 职场文书
银行简历自我评价
2014/02/11 职场文书
学校宣传标语
2014/06/18 职场文书
大专生自我鉴定怎么写
2014/09/16 职场文书