深入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 相关文章推荐
CakePHP去除默认显示的标题及图标的方法
Oct 22 PHP
一步一步学习PHP(8) php 数组
Mar 05 PHP
php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
Dec 19 PHP
PHP中怎样保持SESSION不过期 原理及方案介绍
Aug 08 PHP
php中函数前加&符号的作用分解
Jul 08 PHP
PHP版本常用的排序算法汇总
Dec 20 PHP
Yii的Srbac插件用法详解
Jul 14 PHP
遍历指定目录,并存储目录内所有文件属性信息的php代码
Oct 28 PHP
几行代码轻松实现PHP文件打包下载zip
Mar 01 PHP
Laravel中批量赋值Mass-Assignment的真正含义详解
Sep 29 PHP
PHP PDOStatement::getColumnMeta讲解
Feb 01 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
Mar 27 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 会话(session 时间设定)使用入门代码
2008/06/05 PHP
PHP开发中常用的8个小技巧
2008/08/27 PHP
PHP memcache扩展的三种安装方法
2009/04/26 PHP
php实现的任意进制互转类分享
2015/07/07 PHP
WordPress中邮件的一些修改和自定义技巧
2015/12/15 PHP
javascript 短路法代码精简
2009/08/20 Javascript
jQuery写的日历(包括日历的样式及功能)
2013/04/23 Javascript
JavaScript 上万关键字瞬间匹配实现代码
2013/07/07 Javascript
JavaScript中的toUTCString()方法使用详解
2015/06/12 Javascript
使用jquery+CSS3实现仿windows10开始菜单的下拉导航菜单特效
2015/09/24 Javascript
基于jQuery实现带动画效果超炫酷的弹出对话框(附源码下载)
2016/02/22 Javascript
jQuery返回定位插件详解
2017/05/15 jQuery
Django使用多数据库的方法
2017/09/06 Javascript
vue中动态设置meta标签和title标签的方法
2018/07/11 Javascript
详解angular2.x创建项目入门指令
2018/10/11 Javascript
JS温故而知新之变量提升和时间死区
2019/01/27 Javascript
微信小程序实现电子签名功能
2020/07/29 Javascript
[56:21]LGD vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[00:34]拔城逐梦,热血永恒!2020(秋)完美世界城市挑战赛报名开启
2020/10/09 DOTA
Python中的__new__与__init__魔术方法理解笔记
2014/11/08 Python
python基于pyDes库实现des加密的方法
2017/04/29 Python
python 计算数组中每个数字出现多少次--“Bucket”桶的思想
2017/12/19 Python
python tornado微信开发入门代码
2018/08/24 Python
python实现一个简单的ping工具方法
2019/01/31 Python
用Python写一个自动木马程序
2019/09/17 Python
关于老式浏览器兼容HTML5和CSS3的问题
2016/06/01 HTML / CSS
阿根廷首家户外用品制造商和经销商:Montagne
2018/02/12 全球购物
Mountain Hardwear官网:攀岩服装和户外装备
2019/09/26 全球购物
如果NULL和0作为空指针常数是等价的,那我到底该用哪一个
2014/09/16 面试题
介绍一下Prototype的$()函数,$F()函数,$A()函数都是什么作用?
2014/03/05 面试题
文明风采获奖感言
2014/02/18 职场文书
《春笋》教学反思
2014/04/15 职场文书
拓展策划方案
2014/06/03 职场文书
2015年员工试用期工作总结
2014/12/12 职场文书
父亲节寄语大全
2015/02/27 职场文书
mysql中varchar类型的日期进行比较、排序等操作的实现
2021/11/17 MySQL