深入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
php下删除字符串中HTML标签的函数
Aug 27 PHP
使用PHP提取视频网站页面中的FLASH地址的代码
Apr 17 PHP
通过PHP current函数获取未知字符键名数组第一个元素的值
Jun 24 PHP
php+mysql实现数据库随机重排实例
Oct 17 PHP
基于php的CMS中展示文章类实例分析
Jun 18 PHP
php 数组随机取值的简单实例
May 23 PHP
YII框架批量插入数据的方法
Mar 18 PHP
微信开发之获取JSAPI TICKET
Jul 07 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
Feb 23 PHP
微信公众号之主动给用户发送消息功能
Jun 22 PHP
关于Laravel-admin的基础用法总结和自定义model详解
Oct 08 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实现统计所有字符在字符串中出现次数的方法
2017/10/17 PHP
javascript 写类方式之四
2009/07/05 Javascript
Jquery AJAX 框架的使用方法
2009/11/03 Javascript
jquery跟js初始化加载的多种方法及区别介绍
2014/04/02 Javascript
javascript二维数组转置实例
2015/01/22 Javascript
prototype框架中美元符号$用法分析
2016/01/22 Javascript
基于Bootstrap使用jQuery实现简单可编辑表格
2016/05/04 Javascript
jquery ajax局部加载方法详解(实现代码)
2016/05/12 Javascript
AngularJS基础 ng-mouseenter 指令示例代码
2016/08/02 Javascript
使用JSON作为函数的参数的优缺点
2016/10/27 Javascript
jQuery File Upload文件上传插件使用详解
2016/12/06 Javascript
Vue.js中数据绑定的语法教程
2017/06/02 Javascript
ajax +NodeJS 实现图片上传实例
2017/06/06 NodeJs
jQuery实现下拉菜单的实例代码
2017/06/19 jQuery
浅谈VUE监听窗口变化事件的问题
2018/02/24 Javascript
详解webpack 打包文件体积过大解决方案(code splitting)
2018/04/10 Javascript
深入理解JavaScript和TypeScript中的class
2018/04/22 Javascript
详解Eslint 配置及规则说明
2018/09/10 Javascript
[00:39]DOTA2上海特级锦标赛 Liquid战队宣传片
2016/03/04 DOTA
[00:20]TI9不朽观赛名额抽取
2019/08/05 DOTA
简单介绍Python中的floor()方法
2015/05/15 Python
tensorflow 恢复指定层与不同层指定不同学习率的方法
2018/07/26 Python
django开发post接口简单案例,获取参数值的方法
2018/12/11 Python
Python3+OpenCV2实现图像的几何变换(平移、镜像、缩放、旋转、仿射)
2019/05/13 Python
python命令行参数用法实例分析
2019/06/25 Python
Python程序打包工具py2exe和PyInstaller详解
2019/06/28 Python
python3将变量写入SQL语句的实现方式
2020/03/02 Python
浅谈python3 构造函数和析构函数
2020/03/12 Python
通过实例简单了解Python sys.argv[]使用方法
2020/08/04 Python
HTML5本地存储之Web Storage详解
2016/07/04 HTML / CSS
HTML5中form如何关闭自动完成功能的方法
2018/07/02 HTML / CSS
汽车销售顾问求职自荐信
2014/01/01 职场文书
学生顶撞老师的检讨书
2014/09/17 职场文书
社会工作专业自荐信
2014/09/26 职场文书
干货干货!2019最新优秀创业计划书
2019/03/21 职场文书
导游词之南迦巴瓦峰
2019/11/19 职场文书