深入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下 PHP4.0与oracle 8的连接设置
Oct 09 PHP
PHP6 先修班 JSON实例代码
Aug 23 PHP
PHP写MySQL数据 实现代码
Jun 15 PHP
php连接mssql数据库的几种方法
Feb 21 PHP
PHP把小数转成整数3种方法
Jun 30 PHP
ThinkPHP模板判断输出Present标签用法详解
Jun 30 PHP
PHP中imagick函数的中文解释
Jan 21 PHP
支持中文的PHP按字符串长度分割成数组代码
May 17 PHP
CI操作cookie的方法分析(基于helper类库)
Mar 28 PHP
PHP生成各种随机验证码的方法总结【附demo源码】
Jun 05 PHP
php基于session锁防止阻塞请求的方法分析
Aug 07 PHP
Yii框架getter与setter方法功能与用法分析
Oct 22 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
一个高ai的分页函数和一个url函数
2006/10/09 PHP
PHP 中的面向对象编程:通向大型 PHP 工程的办法
2006/12/03 PHP
php mysql_list_dbs()函数用法示例
2017/03/29 PHP
使用TextRange获取输入框中光标的位
2006/10/14 Javascript
JavaScript asp.net 获取当前超链接中的文本
2009/04/14 Javascript
jquery easyui combobox模糊过滤(示例代码)
2013/11/30 Javascript
js获取元素相对窗口位置的实现代码
2014/09/28 Javascript
纯JavaScript实现获取onclick、onchange等事件的值
2014/12/29 Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
2015/02/17 Javascript
jQuery实现带有动画效果的回到顶部和底部代码
2015/11/04 Javascript
jQuery图片轮播实现并封装(一)
2016/12/03 Javascript
javascript中的replace函数(带注释demo)
2018/01/07 Javascript
JavaScript实现封闭区域布尔运算的示例代码
2018/06/25 Javascript
关于vue v-for循环解决img标签的src动态绑定问题
2018/09/18 Javascript
详解Vue前端生产环境发布配置实战篇
2019/05/07 Javascript
webpack 最佳配置指北(推荐)
2020/01/07 Javascript
vue-socket.io接收不到数据问题的解决方法
2020/05/13 Javascript
python使用Queue在多个子进程间交换数据的方法
2015/04/18 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
2019/07/12 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
2019/07/25 Python
使用 Supervisor 监控 Python3 进程方式
2019/12/05 Python
Python使用Socket实现简单聊天程序
2020/02/28 Python
Python实现图片查找轮廓、多边形拟合、最小外接矩形代码
2020/07/14 Python
AmazeUI框架搭建的方法步骤(图文)
2020/08/17 HTML / CSS
C语言中一个结构不能包含指向自己的指针吗
2012/05/25 面试题
喝酒驾驶检讨书
2014/10/01 职场文书
2015年创先争优活动总结
2015/03/27 职场文书
开会通知
2015/04/20 职场文书
2015年房地产销售工作总结
2015/04/20 职场文书
2015年车间安全管理工作总结
2015/05/13 职场文书
导游词之西安骊山
2019/12/20 职场文书
Nginx URL重写rewrite机制原理及使用实例
2021/04/01 Servers
python获取淘宝服务器时间的代码示例
2021/04/22 Python
解决pytorch读取自制数据集出现过的问题
2021/05/31 Python
Golang原生rpc(rpc服务端源码解读)
2022/04/07 Golang
Oracle删除归档日志及添加定时任务
2022/06/28 Oracle