PHP将两个不同的字符串表示为相同

PHP将两个不同的字符串表示为相同,第1张

PHP将两个不同的字符串表示为相同

"608E-4234"
是float数字格式,因此它们在比较时将转换为数字。

608E-4234
并且
272E-3063
都将是
float(0)
因为它们太小。

对于

==
在php中,

如果将数字与字符串进行比较,或者比较涉及 数字字符串 ,则每个字符串将转换为 数字 ,然后以数字方式进行比较。

http://php.net/manual/zh/language.operators.comparison.php

注意:

javascript中同时具有

==
和的行为又
===
如何呢?

答案是行为不同于PHP。在javascript中,如果您比较两个具有相同类型的值,

==
则与相同
===
,因此与两个相同类型的值进行比较时,不会进行类型转换。

在javascript中:

608E-4234 == 272E-3063 // true608E-4234 == "272E-3063" // true"608E-4234" == 272E-3063 // true"608E-4234" == "272E-3063" // false (Note: this is different form PHP)

因此,在javascript中,当您知道结果的类型时,可以使用

==
而不是
===
保存一个字符。

例如,

typeof
运算符始终返回一个字符串,因此您可以使用

typeof foo == 'string'
而不是
typeof foo === 'string'
没有伤害。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5441409.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存