PHP 小技巧

0xE7A38A發表於2019-02-16
  • foreach 效率更高,儘量用 foreach 代替 whilefor 迴圈

  • 迴圈內部不要宣告變數,尤其是物件這樣的變數

  • 迴圈裡別用函式

  • 在多重巢狀迴圈中,如有可能,應當將最長的迴圈放在內層,最短迴圈放在外層,從而減少 cpu 跨迴圈層的次數,優化程式效能

  • 用單引號替代雙引號引用字串以實現 PHP 效能優化

  • i+=1 代替 i=i+1。符合 c/c++ 的習慣,效率還高

  • 優化 Select SQL 語句,在可能的情況下儘量少的進行 InsertUpdate 操作,達到 PHP 效能優化的目的

  • 某些地方使用 isset 代替 strlen

  • 儘量的少進行檔案操作,雖然 PHP 的檔案操作效率也不低的

  • 儘可能的使用 PHP 內部函式

  • 在可以用 PHP 內部字串操作函式的情況下,不要用正規表示式

  • 在可以用 file_get_contents 替代 filefopenfeoffgets 等系列方法的情況下,儘量用 file_get_contents,因為它的效率高得多。但是要注意 file_get_contents 在開啟一個 URL 檔案時候的 PHP 版本問題

  • 不要隨便就複製變數

  • Apache 解析一個 PHP 指令碼的時間要比解析一個靜態 HTML 頁面慢 2 至 10 倍。儘量多用靜態 HTML 頁面,少用指令碼

  • 試著喜歡使用三元運算子(?:)

  • 使用選擇分支語句,switch case 好於使用多個 ifelse if 語句,並且程式碼更加容易閱讀和維護

  • echo 字串時用逗號代替點連線符更快些。echo 一種可以把多個字串當作引數的 “函式”。echo 是語言結構,不是真正的函式,故把函式加上了雙引號

  • 去除 HTML 標籤以及空格換行等字元 preg_replace("/(s| ;| |xc2xa0)/", "", strip_tags($str))

  • 目錄分隔符 DIRECTORY_SEPARATOR

  • 多路徑分隔符 PATH_SEPARATOR

  • bool || die()