深入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+javascript模拟Matrix画面
Oct 09 PHP
php include,include_once,require,require_once
Sep 05 PHP
PHP COOKIE设置为浏览器进程
Jun 21 PHP
php使用Smarty的相关注意事项及访问变量的几种方式
Dec 08 PHP
PHP共享内存用法实例分析
Feb 12 PHP
php图片添加水印例子
Jul 20 PHP
手把手编写PHP框架 深入了解MVC运行流程
Sep 19 PHP
php禁用cookie后session设置方法分析
Oct 19 PHP
laravel5.2实现区分前后台用户登录的方法
Jan 11 PHP
PHP const定义常量及global定义全局常量实例解析
May 28 PHP
php实现商城购物车的思路和源码分析
Jul 23 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
Mar 09 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字符串截取问题
2006/11/28 PHP
实例分析PHP将字符串转换成数字的方法
2019/01/27 PHP
JQuery最佳实践之精妙的自定义事件
2010/08/11 Javascript
JavaScript Array Flatten 与递归使用介绍
2011/10/30 Javascript
js为数字添加逗号并格式化数字的代码
2013/08/23 Javascript
js实现的常用的左侧导航效果
2013/10/17 Javascript
js控制分页打印、打印分页示例
2014/02/08 Javascript
jQuery Masonry瀑布流插件使用详解
2014/11/17 Javascript
javascript设计简单的秒表计时器
2020/09/05 Javascript
jQuery自定义图片缩放拖拽插件imageQ实现方法(附demo源码下载)
2016/05/27 Javascript
jQuery Ajax 上传文件处理方式介绍(推荐)
2016/06/30 Javascript
javaScript基础详解
2017/01/19 Javascript
angularjs下ng-repeat点击元素改变样式的实现方法
2018/09/12 Javascript
Angularjs之ngModel中的值验证绑定方法
2018/09/13 Javascript
webpack 开发和生产并行设置的方法
2018/11/08 Javascript
Vue中rem与postcss-pxtorem的应用详解
2019/11/20 Javascript
js+html+css实现手动轮播和自动轮播
2020/12/30 Javascript
详解阿里Node.js技术文档之process模块学习指南
2021/01/04 Javascript
vue二选一tab栏切换新做法实现
2021/01/19 Vue.js
前端如何实现动画过渡效果
2021/02/05 Javascript
Python中的一些陷阱与技巧小结
2015/07/10 Python
Python下的Softmax回归函数的实现方法(推荐)
2017/01/26 Python
Python3.4学习笔记之 idle 清屏扩展插件用法分析
2019/03/01 Python
Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析
2019/04/27 Python
Python通过len函数返回对象长度
2020/10/22 Python
HTML5重塑Web世界它将如何改变互联网
2012/12/17 HTML / CSS
网购亚洲时装、美容产品和生活百货:YesStyle
2016/09/15 全球购物
DBA的职责都有哪些
2012/05/16 面试题
什么是URL
2015/12/13 面试题
电子信息毕业生自荐信
2013/11/16 职场文书
公务员更新知识培训实施方案
2014/03/31 职场文书
实习单位评语
2014/04/26 职场文书
安全口号大全
2014/06/21 职场文书
争先创优演讲稿
2014/09/15 职场文书
师范生见习报告
2014/10/31 职场文书
2014年售后服务工作总结
2014/11/18 职场文书