深入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中的日期处理方法集锦
Jan 02 PHP
php flush类输出缓冲剖析
Oct 19 PHP
php数组函数序列之array_search()- 按元素值返回键名
Nov 04 PHP
php DOS攻击实现代码(附如何防范)
May 29 PHP
PHP输出数组中重名的元素的几种处理方法
Sep 05 PHP
ajax取消挂起请求的处理方法
Mar 18 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
Oct 20 PHP
优化WordPress中文章与评论的时间显示
Jan 12 PHP
php文件类型MIME对照表(比较全)
Oct 07 PHP
详解PHP编码转换函数应用技巧
Oct 22 PHP
laravel 根据不同组织加载不同视图的实现
Oct 14 PHP
Laravel框架Eloquent ORM删除数据操作示例
Dec 03 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
全国FM电台频率大全 - 29 青海省
2020/03/11 无线电
php实现的SESSION类
2014/12/02 PHP
一键生成各种尺寸Icon的php脚本(实例)
2017/02/08 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
解决 FireFox 下[使用event很麻烦] 的问题.
2006/08/22 Javascript
判断用户是否在线的代码
2011/03/05 Javascript
用js来获取上传的文件名纯粹是为了美化而用
2013/10/23 Javascript
node.js中的path.resolve方法使用说明
2014/12/08 Javascript
jQuery构造函数init参数分析续
2015/05/13 Javascript
ECMA5数组的新增方法有哪些及forEach()模仿实现
2015/11/03 Javascript
javascript闭包(Closure)用法实例简析
2015/11/30 Javascript
jQuery实现的模拟弹出窗口功能示例
2016/11/24 Javascript
JavaScript实现简单图片轮播效果
2017/08/21 Javascript
webpack 插件html-webpack-plugin的具体使用
2018/04/09 Javascript
中级前端工程师必须要掌握的27个JavaScript 技巧(干货总结)
2019/09/23 Javascript
[46:42]DOTA2-DPC中国联赛正赛 Aster vs Magma BO3 第二场 3月5日
2021/03/11 DOTA
Python SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)
2014/05/06 Python
答题辅助python代码实现
2018/01/16 Python
网红编程语言Python将纳入高考你怎么看?
2018/06/07 Python
详解python中的index函数用法
2019/08/06 Python
Django 解决distinct无法去除重复数据的问题
2020/05/20 Python
python实现简单的井字棋游戏(gui界面)
2021/01/22 Python
IE浏览器单独写CSS样式的几种方法
2014/10/14 HTML / CSS
简单总结CSS3中视窗单位Viewport的常见用法
2016/02/04 HTML / CSS
美国一家运动专业鞋类零售商:Warehouse Shoe Sale(WSS)
2018/03/28 全球购物
美国优质马术服装购买网站:Breeches.com
2019/12/16 全球购物
遗嘱继承公证书
2014/04/09 职场文书
大学自主招生推荐信
2014/05/10 职场文书
2014员工聘用协议书(最新版)
2014/11/24 职场文书
专业技术人员年度考核评语
2014/12/31 职场文书
英文升职感谢信
2015/01/23 职场文书
储备店长岗位职责
2015/04/14 职场文书
工程合作意向书范本
2015/05/09 职场文书
ThinkPHP5和ThinkPHP6的区别
2021/03/31 PHP
python爬取企查查企业信息之selenium自动模拟登录企查查
2021/04/08 Python
Vue和Flask通信的实现
2021/05/19 Vue.js