深入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 相关文章推荐
第六节--访问属性和方法
Nov 16 PHP
使用PHP批量生成随机用户名
Jul 10 PHP
PHP 彩色文字实现代码
Jun 29 PHP
使用PHP导出Word文档的原理和实例
Oct 21 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
Oct 20 PHP
PHP实现通过URL提取根域名
Mar 31 PHP
php封装的smarty类完整实例
Oct 19 PHP
PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】
Apr 19 PHP
PHP中危险的file_put_contents函数详解
Nov 04 PHP
详解如何实现Laravel的服务容器的方法示例
Apr 15 PHP
php引用和拷贝的区别知识点总结
Sep 23 PHP
php中try catch捕获异常实例详解
Aug 06 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编码转换问题
2015/07/28 PHP
php封装的数据库函数与用法示例【参考thinkPHP】
2016/11/08 PHP
制作特殊字的脚本
2006/06/26 Javascript
从盛大通行证上摘下来的身份证验证js代码
2011/01/11 Javascript
基于jQuery实现表格数据的动态添加与统计的代码
2011/01/31 Javascript
利用JS进行图片的切换即特效展示图片
2013/12/03 Javascript
IE6下javasc#ipt:void(0) 无效的解决方法
2013/12/23 Javascript
Array栈方法和队列方法的特点说明
2014/01/24 Javascript
利用js读取动态网站从服务器端返回的数据
2014/02/10 Javascript
IE中图片的onload事件无效问题和解决方法
2014/06/06 Javascript
jQuery实现渐变下拉菜单的简单方法
2015/03/11 Javascript
PHP结合jQuery实现的评论顶、踩功能
2015/07/22 Javascript
跟我学习javascript的最新标准ES6
2015/11/20 Javascript
Bootstrap Paginator分页插件使用方法详解
2016/05/30 Javascript
Node.js发送HTTP客户端请求并显示响应结果的方法示例
2017/04/12 Javascript
详解Node.js开发中的express-session
2017/05/19 Javascript
Ionic + Angular.js实现图片轮播的方法示例
2017/05/21 Javascript
详解Js中的模块化是如何实现的
2017/10/18 Javascript
Layui数据表格判断编辑输入的值,是否为我需要的类型详解
2019/10/26 Javascript
vue 二维码长按保存和复制内容操作
2020/09/22 Javascript
Python中正则表达式详解
2017/05/17 Python
Python获取航线信息并且制作成图的讲解
2019/01/03 Python
python3.x提取中文的正则表达式示例代码
2019/07/23 Python
Python提取PDF内容的方法(文本、图像、线条等)
2019/09/25 Python
pytorch 实现将自己的图片数据处理成可以训练的图片类型
2020/01/08 Python
python中可以声明变量类型吗
2020/06/18 Python
Python自动化办公Excel模块openpyxl原理及用法解析
2020/11/05 Python
VSCode 自定义html5模板的实现
2019/12/05 HTML / CSS
优秀应届生推荐信
2013/11/09 职场文书
四年级数学教学反思
2014/02/02 职场文书
《梅花魂》教学反思
2014/04/30 职场文书
美食节目策划方案
2014/05/31 职场文书
2014群众路线学习笔记
2014/11/06 职场文书
2019 入党申请书范文
2019/07/10 职场文书
使用Navicat Premium工具将oracle数据库迁移到MySQL
2021/05/27 Oracle
Redis实现分布式锁的五种方法详解
2022/06/14 Redis