今天,同学问我一个问题,如下:var_dump("1" == "1e0"); 的结果是什么。

我的第一反应,答案是false。因为很明显的要比较的是两个字符串,而字符串比较时,只需比较其内容即可。很明显, 两个字符串的内容并不一样,当然是false了。

然而,我又注意到要比较的字符串中存在一个纯数字字符串“1”,那根据规则,当要比较的是两个纯数字字符串时要转换成数值型来比较。这里只有一个。所以仍应该安字符串来比较,结果仍为false。

但实际运行代码,结果确实true,我和我的小伙伴都震惊了!!怎么可能是true!!为什么会是true!!这跟说好的不一样啊!!

经过我们仔细的研究,发现这竟然不是两个普通字符串在比较,而是两个纯数值字符串!!因为“1e0”竟然是科学计数法的1!!

//e0表示10的0次方。所以1e0表示:1*10的0次方。
var_dump(1e0);    //float(1)
var_dump(1e3);    //float(1000)

所以当var_dump("1" == "1e0")时,结果才为true。

为什么 var_dump("1" == "1e0"); 的结果为true的更多相关文章

  1. php基础总结

    目录 PHP开发基础 运算符.表达式和流程控制语句 数组和字符串 函数 PHP与Web页面交互 PHP操作MySQL数据库 面向对象基础 期间看到的几篇有意思的博客 为什么 var_dump(&quo ...

  2. PHP 比较运算符 var_dump("a" == 0) 为 true

    这篇文章主要讲解一下 PHP 使用比较运算符容易出错的地方 $a == $b 等于 TRUE,如果类型转换后 $a 等于 $b.$a === $b 全等 TRUE,如果 $a 全等于 $b,并且它们的 ...

  3. 常用PHP变量输出:echo, prinf, sprintf, var_dump

    1.使用 echo 语句       使用 echo  可以打印变量和内容,其他可以是系统变量,也可以是HTML代码,也可以是一个PHP表达式,如下示例:                $a = &q ...

  4. PHP中“==”运算符的安全问题

    前言 PHP是一种通用的开源脚本语言,它的语法混合了C,Java,以及Perl等优秀语言的语法.除此之外,它还提供了大量的函数库可供开发人员使用.但是,如果使用不当,PHP也会给应用程序带来非常大的安 ...

  5. 深入PHP中慎用双等于(==)的详解

    PHP比较运算符出现的频率实在是太高了,尤其是 ==if(a == b){// do something}但是,你真的掌握了 == 了吗?细节很重要!来看下面的代码,说出你认为正确的答案var_dum ...

  6. lottery+web2

    lottery 题目分析 题目给了一个彩票网站,经过页面的探索,没有发现明显漏洞,进行目录扫描,发现该站存在.git文件 猜测存在源码泄露,使用githack利用: 获得网页源码,进行源码分析 源码审 ...

  7. 前端学PHP之文件操作

    × 目录 [1]文件类型 [2]文件属性 [3]目录路径[4]目录遍历[5]目录统计[6]目录增删[7]目录复制[8]文件操作[9]文件内容 前面的话 在程序运行时,程序本身和数据一般都存在内存中,当 ...

  8. 前端学PHP之运算符

    × 目录 [1]总括 [2]算术运算符 [3]赋值运算符[4]位运算符[5]比较运算符[6]错误控制[7]逻辑运算符[8]字符串连接[9]数组运算符 前面的话 运算符是可以通过给出的一或多个表达式来产 ...

  9. Xdebug文档(五) 代码覆盖分析

    代码覆盖分析能在请求时让你知道脚本哪一行(或哪一段)在执行. 相关设置 xdebug.coverage_enable 类型: boolean, 默认值: 1, 始于 Xdebug >= 2.2 ...

随机推荐

  1. 【综述】(MIT博士)林达华老师-"概率模型与计算机视觉”

    [综述](MIT博士)林达华老师-"概率模型与计算机视觉” 距上一次邀请中国科学院的樊彬老师为我们撰写图像特征描述符方面的综述(http://www.sigvc.org/bbs/thread ...

  2. Es索引优化

    https://www.elastic.co/guide/en/elasticsearch/guide/current/hardware.html https://www.elastic.co/gui ...

  3. [水题]ZOJ3038 Triangle War II

    题意: 给了这样一张图 有两种状态:pushed(*)和unpushed(.)    为方便起见分别成为 开 和 关 改变一个点的开关状态 会同时改变与它相邻的点的开关状态  比如改变5,则2.3.4 ...

  4. [线段树]HDOJ5091 Beam Cannon

    题意:给n, w, h  (1 <= N <= 10000,1 <= W <= 40000,1 <= H <= 40000) $w\times h$是可以射到的范围 ...

  5. MySQL主从复制中断处理一例

    收到mysql主从中断报警邮件,马上登上服务器查看,发现是中继日志损坏. Show slave status\G,提示中继日志损坏,按以往的做法,根据提示重新指定合适的日志文件以及pos点.  Rel ...

  6. [Android] 修改设备访问权限

    在硬件抽象层模块中,我们是调用open函数来打开对应的设备文件的.例如,在2.3.2小节中开发的硬件抽象层模块freg中,函数freg_device_open调用open函数来打开设备文件/dev/f ...

  7. 转自 z55250825 的几篇关于FFT的博文(三)

    题目大意:给出n个数qi,定义 Fj为        令 Ei=Fi/qi,求Ei.      其实这道题就是看到有FFT模板才觉得有必要学一下的...    所以实际上就是已经知道题解了... = ...

  8. 使用Win32/ATL建立窗口的过程

    有时候想写个几十kb的小程序,MFC实在是太大了,Win32有时又太麻烦,怎么办呢?用ATL写会更方便和轻量级一些 ATL和MFC不同的是,ATL并没有强制性封装WinMain函数,仅封装了WndPr ...

  9. Mysql规范和使用注意点(转)

    命名规范: 1表名,字段名,索引名称使用小写字母,数字采用下划线进行分割 2.表名采用模块名3个缩小字符 '前缀'之后顺序为表明 3.表名,字段名不超过32个字符 4.存储尸体数据的表,名称使用名词, ...

  10. 【C++】命令行Hangman #2015年12月15日 00:20:27

    增加了可以在构造Hangman对象时通过传入参数设定“最大猜测次数”的功能.少量修改.# 2015年12月15日 00:20:22 https://github.com/shalliestera/ha ...