深入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 缓冲的免费实现方法
Oct 09 PHP
用文本文件制作留言板提示(上)
Oct 09 PHP
MYSQL环境变量设置方法
Jan 15 PHP
php 接口类与抽象类的实际作用
Nov 26 PHP
php下使用iconv需要注意的问题
Nov 20 PHP
PHP在不同页面间传递Json数据示例代码
Jun 08 PHP
php二分查找二种实现示例
Mar 12 PHP
PHP中ini_set与ini_get用法实例
Nov 04 PHP
php强制运行广告的方法
Dec 01 PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
Aug 18 PHP
用PHP的socket实现客户端到服务端的通信实例详解
Feb 04 PHP
Yii框架应用组件用法实例分析
May 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
PHP使用http_build_query()构造URL字符串的方法
2016/04/02 PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
2016/07/28 PHP
php常用字符串String函数实例总结【转换,替换,计算,截取,加密】
2016/12/07 PHP
laravel 实现上传图片到本地和前台访问示例
2019/10/21 PHP
script标签的 charset 属性使用说明
2010/12/04 Javascript
Blocksit插件实现瀑布流数据无限( 异步)加载
2014/06/20 Javascript
javascript html5实现表单验证
2016/03/01 Javascript
原生js封装二级城市下拉列表的实现代码
2016/06/16 Javascript
require.js 加载 vue组件 r.js 合并压缩的实例
2016/10/14 Javascript
AngularJS改变元素显示状态
2017/04/20 Javascript
nodejs密码加密中生成随机数的实例代码
2017/07/17 NodeJs
javascript用rem来做响应式开发
2018/01/13 Javascript
使用JS代码实现俄罗斯方块游戏
2018/08/03 Javascript
python插入排序算法的实现代码
2013/11/21 Python
python通过get,post方式发送http请求和接收http响应的方法
2015/05/26 Python
python实现判断数组是否包含指定元素的方法
2015/07/15 Python
Python正则获取、过滤或者替换HTML标签的方法
2016/01/28 Python
python利用pandas将excel文件转换为txt文件的方法
2018/10/23 Python
Python3中函数参数传递方式实例详解
2019/05/05 Python
python验证身份证信息实例代码
2019/05/06 Python
django-allauth入门学习和使用详解
2019/07/03 Python
Python 读取 YUV(NV12) 视频文件实例
2019/12/09 Python
Python 音频生成器的实现示例
2019/12/24 Python
python连接PostgreSQL过程解析
2020/02/09 Python
简单了解pytest测试框架setup和tearDown
2020/04/14 Python
HTML5实现Notification API桌面通知功能
2016/03/02 HTML / CSS
Paradox London官方网站:英国新娘鞋婚礼鞋品牌
2019/08/29 全球购物
美国环保妈妈、儿童和婴儿用品购物网站:The Tot
2019/11/24 全球购物
Theflamel意大利:女士奢华服装、鞋子和配件
2020/01/11 全球购物
全球最大的瓷器、水晶和银器零售商:Replacements
2020/06/15 全球购物
SQL Server面试题
2016/10/17 面试题
南京某公司笔试题
2013/01/27 面试题
《充气雨衣》教学反思
2014/04/07 职场文书
CSS3 制作精美的定价表
2021/04/06 HTML / CSS
Python matplotlib 利用随机函数生成变化图形
2022/04/26 Python
Zabbix对Kafka topic积压数据监控的解决方案
2022/07/07 Servers