php 数组和数字类型的比较_javascript

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.php.net/manual/zh/types.comparisons.php​

版本


  • v1
  • 2020-08-27
  • 建伟 F4NNIU