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