1. 程式人生 > >php中常見的大坑,開發中應儘量避免

php中常見的大坑,開發中應儘量避免

1、不同系統獲取的路徑,檔名編碼不同

2、32位和64位PHP最大值不同PHP_INT_SIZE,PHP_INT_MAX,intval

3、filesize不能正確獲取大於2G檔案的大小

4、filesize快取的問題,需呼叫clearstatcache

5、內部編碼使用ansi

6、儲存檔案使用utf-8必須刪除bom簽名

7、json_encode只能支援utf-8編碼

8、trim中有中文空格會引起亂碼

9、strrchr僅能查詢字元,不能查詢字串

10、foreach中的值使用引用會引起賦值,並且不會釋放
    測試如下程式碼
    $a = array(1=>'one', 2=>'two');
 
    foreach ($a as $key => &$val) {}
    var_dump($a);
      
    foreach ($a as $key => $val) {} 

    var_dump($a);

11、含有字元的數字和數字比較有可能為真。
    測試如下程式碼

        '404abc'==404

12、count函式傳入字元時,會自動將字元轉換為陣列將計算。
    測試如下程式碼
        count(false)
        count(null)

13、浮點運算時應注意丟失精度(PHP遵循IEEE 754雙精度)
    測試如下程式碼
        floor((0.1+0.7)*10)
        intval( 0.58*100 )
        var_dump((8 - 6.4) == 1.6)