php 数组和数字类型的比较
php 数组和数字类型的比较
问题
array 和 int 的比较
有小伙伴在 QQ 群提出一个问题,一个数据和一个数字类型比较后不会报错。
问题如下:
$a = ['len_time' => 2834];
var_dump($a > 3600);
运行的结果是 true,既没有报错,而且还为 true,有点疑惑不解。
分析过程
array 被强制转换?
int 被强转换?
都不是
以上都不对,只要是与 array 比较,一定是 array 大,这是 php 内部规定的,详细看附录参考链接。
延伸
字符串会被强制转换
曾经有人提出一个问题说 php 的 0 与任何字符串比较都为 true,这是不对的,但其实是正确的,因为字符串被强制转换后都成了 0。
附录
参考链接
PHP 不同类型之间的松散和严格比较 https://www.cnblogs.com/weiyalin/p/10388167.html
PHP 类型比较表 https://www.php.net/manual/zh/types.comparisons.php
php陷阱:字符串和数字比较 https://www.cnblogs.com/youxin/p/3873397.html
版本
- v1
- 2020-08-27
- 建伟 F4NNIU
所有文章为原创,如非授权,请勿转载。
我们要多多支持有创造能力的人,因为那是我们所有人的希望。
同时我们也希望成为有创造能力的人,我们支持开源,同时也支持正版。
🎈数码荔技正版软件商店🎈
【正版】微软 Office 365
【正版】老牌文件对比工具 Beyond Compare
【正版】JetBrains Idea Java IDE
不断学习,慢慢进步,做时间的朋友。
注意力 > 时间 > 金钱。 -- 建伟 F4nniu
我们要多多支持有创造能力的人,因为那是我们所有人的希望。
同时我们也希望成为有创造能力的人,我们支持开源,同时也支持正版。
🎈数码荔技正版软件商店🎈
【正版】微软 Office 365
【正版】老牌文件对比工具 Beyond Compare
【正版】JetBrains Idea Java IDE
不断学习,慢慢进步,做时间的朋友。
注意力 > 时间 > 金钱。 -- 建伟 F4nniu