提高php代碼效能的方法

來源:互聯網
上載者:User

標籤:nts   緩衝   lob   echo   方法   Regex   登出   數組   表達   

1、用單引號代替雙引號來包含字串,這樣做會更快一些。因為PHP會在雙引號包圍的字串中搜尋變數,單引號則不會

2、如果能將類的方法定義成static,就盡量定義成static,它的速度會提升將近4倍

3、$row[‘id‘] 的速度是$row[id]的7倍

4、echo 比 print 快,並且使用echo輸出時用逗號而不是句點代替字串串連效率更高,比如 echo $str1,$str2。

5、及時登出那些不用的變數,尤其是大數組,對象之類的,以便釋放記憶體

6、include和require檔案時盡量不要使用相對路徑,因為使用相對路徑的時候它會首先尋找指定的php包含路徑,然後尋找目前的目錄,因此會檢查過多重路徑,所以最佳選擇是使用絕對路徑。

7、能夠使用函數代替Regex的地方盡量使用函數來完成

8、str_replace函數比preg_replace函數快,但strtr函數的效率是str_replace函數的四倍。strtr() 函數的作用是轉換字串中特定的字元

9、使用選擇分支語句(即switch case)好於使用多個if,else if語句。

10、不要濫用 @ 操作符。雖然 @ 看上去很簡單,但是實際上後台有很多操作。用 @ 比起不用 @,效率差距:3 倍。特別不要在迴圈中使用 @

11、在方法中遞增局部變數,速度是最快的。幾乎與在函數中調用局部變數的速度相當。而遞增一個全域變數要比遞增一個局部變數慢2倍。

12、盡量做緩衝,可使用memcached。memcached是一款高效能的記憶體對象緩衝系統,可用來加速動態Web應用程式,減輕資料庫負載。對運算碼 (OP code)的緩衝很有用,使得指令碼不必為每個請求做重新編譯

13、並不是事必物件導向(OOP),物件導向往往開銷很大,每個方法和對象調用都會消耗很多記憶體。

14、不要把方法細分得過多,仔細想想你真正打算重用的是哪些代碼

15、能使用PHP內建函數的地方盡量使用PHP內建函數

16、在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情況下,盡量用file_get_contents,因為他的效率高得多!但是要注意file_get_contents在開啟一個URL檔案時候的PHP版本問題;

17、在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情況下,盡量用file_get_contents,因為他的效率高得多!但是要注意file_get_contents在開啟一個URL檔案時候的PHP版本問題;

18、多維陣列盡量不要迴圈嵌套賦值

19、foreach效率比while和for更高

20、對global變數,應該用完就unset()掉;

提高php代碼效能的方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.