1.合理使用unset函數[并不是使用unset()就一定會釋放記憶體]
參考: https://www.jb51.net/article/30740.htm $data = array_values($data); //資料處理【将資料按照[rule]進行降序排列】 $data = array_map(function ($v) { $v['rule_count'] = count($v['rule']); return $v; } , $data); $newData = []; foreach ($data as $key => $value) { $newData[$key] = $value['rule_count']; } arsort($newData) $tmp = []; foreach ($newData as $newKey => $newValue) { $tmp[] = $data[$newKey]; } $data = $tmp; $mm = memory_get_usage(); //擷取占用的記憶體 var_dump($mm); unset($newData); unset($tmp); mm = memory_get_usage(); var_dump($mm); exit; 列印結果: 說明: 記憶體有釋放 |
2.收集
1.PHP代碼優化的目的是為了提高PHP程式的執行效率,編寫PHP代碼時,可以從以下方面着手優化: 1.1. 用單引号代替雙引号來包含字元串 1.2. 如果能将類的方法定義成static,就盡量定義成static,它的速度會提升将近4倍 3. 用 echo 代替 print,效率更好 4. 及時登出不用的變量,尤其是大數組,以便釋放記憶體 5. 盡量避免使用__get(),__set(),__autoload() 6. require_once()代價昂貴,盡量少用 7. 盡量用函數代替正規表達式完成相同的功能 8. str_replace 函數比 preg_replace 函數快 9. 使用分支語句(即 switch case)好于使用多個 if,else if 語句 10. 用@屏蔽錯誤消息的做法非常低效 11. 當執行變量$i的遞增或遞減時,++$i 會比 $i++ 快一些 12. 盡量使用PHP的内置函數 13. 循環體内部不要聲明變量,尤其是大變量 14. foreach 效率更高,盡量用 foreach 代替 while 和 for 循環 15. 用 $i+=1 代替 $i=$i+1,效率更高 16. 對于 global 全局變量,用完後立即 unset() 掉 17. 适當地做一些緩存處理 2.PHP 中換行可以用 PHP_EOL 來替代,以提高代碼的源代碼級可移植性: //20191016 科興科學園 unix系列用 \n windows系列用 \r\n mac用 \r <?php echo PHP_EOL; //windows平台相當于 echo "\r\n"; //unix\linux平台相當于 echo "\n"; //mac平台相當于 echo "\r"; 後續補充 ... |
3.參考
https://blog.csdn.net/lamp_yang_3533/article/details/50771456 |
後續補充
...