提升PHP性能的21種方法介紹
更新時間:2013年06月25日 16:01:05 作者:
本篇文章是對提升PHP性能的21種方法進行了詳細的分析介紹,需要的朋友參考下
1.用單引號來包含字符串要比雙引號來包含字符串更快一些。因為PHP會在雙引號包圍的字符串中搜尋變量,單引號則不會。
2.如果能將類的方法定義成static,就盡量定義成static,它的速度會提升將近4倍。
3.$row['id'] 的速度是$row[id]的7倍。
4.echo 比 print 快,并且使用echo的多重參數(shù)(譯注:指用逗號而不是句點)代替字符串連接,比如echo $str1,$str2。
5.在執(zhí)行for循環(huán)之前確定最大循環(huán)數(shù),不要每循環(huán)一次都計算最大值,最好運用foreach代替。
6.注銷那些不用的變量尤其是大數(shù)組,以便釋放內(nèi)存。
7.盡量避免使用__get,__set,__autoload。
8.require_once()代價昂貴。
9.include文件時盡量使用絕對路徑,因為它避免了PHP去include_path里查找文件的速度,解析操作系統(tǒng)路徑所需的時間會更少。
10.如果你想知道腳本開始執(zhí)行(譯注:即服務器端收到客戶端請求)的時刻,使用$_SERVER[‘REQUEST_TIME']要好于time()。
11.函數(shù)代替正則表達式完成相同功能。
12.str_replace函數(shù)比preg_replace函數(shù)快,但strtr函數(shù)的效率是str_replace函數(shù)的四倍。
13.如果一個字符串替換函數(shù),可接受數(shù)組或字符作為參數(shù),并且參數(shù)長度不太長,那么可以考慮額外寫一段替換代碼,使得每次傳遞參數(shù)是一個字符,而不是只寫一行代碼接受數(shù)組作為查詢和替換的參數(shù)。
14.使用選擇分支語句(譯注:即switch case)好于使用多個if,else if語句。
15.用@屏蔽錯誤消息的做法非常低效,極其低效。
16.打開apache的mod_deflate模塊,可以提高網(wǎng)頁的瀏覽速度。
17.數(shù)據(jù)庫連接當使用完畢時應關掉,不要用長連接。
18.錯誤消息代價昂貴。
19.在方法中遞增局部變量,速度是最快的。幾乎與在函數(shù)中調用局部變量的速度相當。
20.遞增一個全局變量要比遞增一個局部變量慢2倍。
21.遞增一個對象屬性(如:$this->prop++)要比遞增一個局部變量慢3倍。
2.如果能將類的方法定義成static,就盡量定義成static,它的速度會提升將近4倍。
3.$row['id'] 的速度是$row[id]的7倍。
4.echo 比 print 快,并且使用echo的多重參數(shù)(譯注:指用逗號而不是句點)代替字符串連接,比如echo $str1,$str2。
5.在執(zhí)行for循環(huán)之前確定最大循環(huán)數(shù),不要每循環(huán)一次都計算最大值,最好運用foreach代替。
6.注銷那些不用的變量尤其是大數(shù)組,以便釋放內(nèi)存。
7.盡量避免使用__get,__set,__autoload。
8.require_once()代價昂貴。
9.include文件時盡量使用絕對路徑,因為它避免了PHP去include_path里查找文件的速度,解析操作系統(tǒng)路徑所需的時間會更少。
10.如果你想知道腳本開始執(zhí)行(譯注:即服務器端收到客戶端請求)的時刻,使用$_SERVER[‘REQUEST_TIME']要好于time()。
11.函數(shù)代替正則表達式完成相同功能。
12.str_replace函數(shù)比preg_replace函數(shù)快,但strtr函數(shù)的效率是str_replace函數(shù)的四倍。
13.如果一個字符串替換函數(shù),可接受數(shù)組或字符作為參數(shù),并且參數(shù)長度不太長,那么可以考慮額外寫一段替換代碼,使得每次傳遞參數(shù)是一個字符,而不是只寫一行代碼接受數(shù)組作為查詢和替換的參數(shù)。
14.使用選擇分支語句(譯注:即switch case)好于使用多個if,else if語句。
15.用@屏蔽錯誤消息的做法非常低效,極其低效。
16.打開apache的mod_deflate模塊,可以提高網(wǎng)頁的瀏覽速度。
17.數(shù)據(jù)庫連接當使用完畢時應關掉,不要用長連接。
18.錯誤消息代價昂貴。
19.在方法中遞增局部變量,速度是最快的。幾乎與在函數(shù)中調用局部變量的速度相當。
20.遞增一個全局變量要比遞增一個局部變量慢2倍。
21.遞增一個對象屬性(如:$this->prop++)要比遞增一個局部變量慢3倍。
相關文章
利用客戶端緩存對網(wǎng)站進行優(yōu)化的原理分析
你的網(wǎng)站在并發(fā)訪問很大并且無法承受壓力的情況下,你會選擇如何優(yōu)化?2008-09-09PHP使用get_headers函數(shù)判斷遠程文件是否存在的方法
這篇文章主要介紹了PHP使用get_headers函數(shù)判斷遠程文件是否存在的方法,以實例形式分析了使用get_headers函數(shù)對遠程文件是否存在進行判斷的方法,以及針對重定向的排除方法,非常具有實用價值,需要的朋友可以參考下2014-11-11PHP實現(xiàn)對png圖像進行縮放的方法(支持透明背景)
這篇文章主要介紹了PHP實現(xiàn)對png圖像進行縮放的方法(支持透明背景),可實現(xiàn)php針對png圖像的縮放功能,且支持透明背景,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07php使用preg_match()函數(shù)驗證ip地址的方法
這篇文章主要介紹了php使用preg_match()函數(shù)驗證ip地址的方法,涉及php針對數(shù)字及字符串的正則匹配操作相關技巧,需要的朋友可以參考下2017-01-01