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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM