深入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 相关文章推荐
怎么使 Mysql 数据同步
Oct 09 PHP
仿AS3实现PHP 事件机制实现代码
Jan 27 PHP
通过JavaScript或PHP检测Android设备的代码
Mar 09 PHP
PHP APC的安装与使用详解
Jun 13 PHP
php递归方法实现无限分类实例代码
Feb 28 PHP
ThinkPHP中的系统常量和预定义常量集合
Jul 01 PHP
php冒泡排序与快速排序实例详解
Dec 07 PHP
Joomla实现组件中弹出一个模式(modal)窗口的方法
May 04 PHP
PHP Class SoapClient not found解决方法
Jan 20 PHP
PHP微信开发之微信录音临时转永久存储
Jan 26 PHP
宝塔面板出现“open_basedir restriction in effect. ”的解决方法
Mar 14 PHP
php中配置文件保存修改操作 如config.php文件的读取修改等操作
May 12 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
修改ThinkPHP缓存为Memcache的方法
2014/06/25 PHP
php解决和避免form表单重复提交的几种方法
2016/08/31 PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
2016/12/08 PHP
JavaScript For Beginners(转载)
2007/01/05 Javascript
Js切换功能的简单方法
2010/11/23 Javascript
使用jquery获取网页中图片高度的两种方法
2013/09/26 Javascript
基于jQuery实现简单的折叠菜单效果
2015/11/23 Javascript
JS数组合并push与concat区别分析
2015/12/17 Javascript
jQuery的ajax和遍历数组json实例代码
2016/08/01 Javascript
关于Jquery中的bind(),on()绑定事件方式总结
2016/10/26 Javascript
nodejs基础应用
2017/02/03 NodeJs
初识NodeJS服务端开发入门(Express+MySQL)
2017/04/07 NodeJs
用Nodejs搭建服务器访问html、css、JS等静态资源文件
2017/04/28 NodeJs
微信小程序 获取二维码实例详解
2017/06/23 Javascript
使用Vue构建可重用的分页组件
2018/03/26 Javascript
axios 封装上传文件的请求方法
2018/09/26 Javascript
微信小程序之裁剪图片成圆形的实现代码
2018/10/11 Javascript
移动端底部导航固定配合vue-router实现组件切换功能
2019/06/13 Javascript
Vue触发隐藏input file的方法实例详解
2019/08/14 Javascript
解决vue admin element noCache设置无效的问题
2019/11/12 Javascript
JS字符串和数组如何实现相互转化
2020/07/02 Javascript
详解python使用递归、尾递归、循环三种方式实现斐波那契数列
2018/01/16 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
2019/08/13 Python
python MultipartEncoder传输zip文件实例
2020/04/07 Python
Python flask框架实现浏览器点击自定义跳转页面
2020/06/04 Python
Python错误的处理方法
2020/06/23 Python
Weblogic和WebSphere不同特点
2012/05/09 面试题
印刷工程专业应届生求职信
2013/09/29 职场文书
《骆驼和羊》教学反思
2014/02/27 职场文书
党支部公开承诺践诺书
2014/03/28 职场文书
关于感恩的演讲稿400字
2014/08/26 职场文书
房产授权委托书范本
2014/09/22 职场文书
资源环境与城乡规划管理专业自荐书
2014/09/26 职场文书
先进个人申报材料
2014/12/30 职场文书
新学期开学标语2015
2015/07/16 职场文书
2016年安全生产先进个人事迹材料
2016/02/29 职场文书