PHP提高編程效率的20個(gè)要點(diǎn)
用單引號代替雙引號來包含字符串,這樣做會(huì)更快一些。因?yàn)镻HP會(huì)在雙引號包圍的字符串中搜尋變量,單引號則 不會(huì),注意:只有echo能這么做,它是一種可以把多個(gè)字符串當(dāng)作參數(shù)的“函數(shù)”(譯注:PHP手冊中說echo是語言結(jié)構(gòu),不是真正的函數(shù),故把函數(shù)加 上了雙引號)。
1、如果能將類的方法定義成static,就盡量定義成static,它的速度會(huì)提升將近4倍。
2、$row['id'] 的速度是$row[id]的7倍。
3、echo 比 print 快,并且使用echo的多重參數(shù)(譯注:指用逗號而不是句點(diǎn))代替字符串連接,比如echo $str1,$str2。
4、在執(zhí)行for循環(huán)之前確定最大循環(huán)數(shù),不要每循環(huán)一次都計(jì)算最大值,最好運(yùn)用foreach代替。
5、注銷那些不用的變量尤其是大數(shù)組,以便釋放內(nèi)存。
6、盡量避免使用__get,__set,__autoload。
7、require_once()代價(jià)昂貴。
8、include文件時(shí)盡量使用絕對路徑,因?yàn)樗苊饬薖HP去include_path里查找文件的速度,解析操作系統(tǒng)路徑所需的時(shí)間會(huì)更少。
9、如果你想知道腳本開始執(zhí)行(譯注:即服務(wù)器端收到客戶端請求)的時(shí)刻,使用$_SERVER[‘REQUEST_TIME']要好于time()。
10、函數(shù)代替正則表達(dá)式完成相同功能。正則效率一般會(huì)低于函數(shù)
11、str_replace函數(shù)比preg_replace函數(shù)快,但strtr函數(shù)的效率是str_replace函數(shù)的四倍。
12、如果一個(gè)字符串替換函數(shù),可接受數(shù)組或字符作為參數(shù),并且參數(shù)長度不太長,那么可以考慮額外寫一段替換代碼,使得每次傳遞參數(shù)是一個(gè)字符,而不是只寫一行代碼接受數(shù)組作為查詢和替換的參數(shù)。
13、使用選擇分支語句(譯注:即switch case)好于使用多個(gè)if,else if語句。
14、用@屏蔽錯(cuò)誤消息的做法非常低效,極其低效。
15、打開apache的mod_deflate模塊,可以提高網(wǎng)頁的瀏覽速度。
16、數(shù)據(jù)庫連接當(dāng)使用完畢時(shí)應(yīng)關(guān)掉,不要用長連接。
17、錯(cuò)誤消息代價(jià)昂貴。
18、在方法中遞增局部變量,速度是最快的。幾乎與在函數(shù)中調(diào)用局部變量的速度相當(dāng)。
19、遞增一個(gè)全局變量要比遞增一個(gè)局部變量慢2倍。
20、遞增一個(gè)對象屬性(如:$this->prop++)要比遞增一個(gè)局部變量慢3倍。
21、遞增一個(gè)未預(yù)定義的局部變量要比遞增一個(gè)預(yù)定義的局部變量慢9至10倍。
22、僅定義一個(gè)局部變量而沒在函數(shù)中調(diào)用它,同樣會(huì)減慢速度(其程度相當(dāng)于遞增一個(gè)局部變量)。PHP大概會(huì)檢查看是否存在全局變量。
23、用單引號代替雙引號來包含字符串,
以上給大家列出了20幾條有關(guān)提高php編程效率的要點(diǎn),希望對大家有所幫助。
相關(guān)文章
PHP實(shí)現(xiàn)的mongoDB數(shù)據(jù)庫操作類完整實(shí)例
這篇文章主要介紹了PHP實(shí)現(xiàn)的mongoDB數(shù)據(jù)庫操作類,結(jié)合完整實(shí)例形式詳細(xì)分析了php基于單例模式針對mongoDB數(shù)據(jù)庫連接、增刪改查、統(tǒng)計(jì)等操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-04-04
php+mysql開發(fā)的最簡單在線題庫(在線做題系統(tǒng))完整案例
這篇文章主要介紹了php+mysql開發(fā)的最簡單在線題庫(在線做題系統(tǒng))案例,結(jié)合完整實(shí)例形式分析了PHP結(jié)合MySQL數(shù)據(jù)庫查詢、判斷實(shí)現(xiàn)的在線題庫功能相關(guān)操作技巧,需要的朋友可以參考下2019-03-03
使用游標(biāo)進(jìn)行PHP SQLSRV查詢的方法與注意事項(xiàng)
在 PHP 中使用 SQLSRV 查詢時(shí),如果查詢結(jié)果集較大,可以考慮使用游標(biāo)來提高查詢效率。使用游標(biāo)可以將查詢結(jié)果集分成多個(gè)小部分進(jìn)行處理,減輕服務(wù)器的負(fù)擔(dān),提高查詢性能2023-05-05
php在多維數(shù)組中根據(jù)鍵名快速查詢其父鍵以及父鍵值的代碼
有一個(gè)多維數(shù)組,有多少維大家可以自定義。假如我們要在這個(gè)數(shù)組中找一個(gè)鍵為'subIndex'的值,我們可以用for、foreach等方法遍歷查找 反過來,假如我們?nèi)我饨o出一個(gè)或多個(gè)鍵,要求找出這個(gè)鍵的父級數(shù)組的鍵和值。這又如何實(shí)現(xiàn)?2011-05-05
php 數(shù)組動(dòng)態(tài)添加實(shí)現(xiàn)代碼(最土團(tuán)購系統(tǒng)的價(jià)格排序)
最近在實(shí)現(xiàn)最土團(tuán)購系統(tǒng)的價(jià)格排序功能,需要對$oc數(shù)組進(jìn)行擴(kuò)展,經(jīng)過測試用下面的方法即可。2011-12-12
php實(shí)現(xiàn)Mongodb自定義方式生成自增ID的方法
這篇文章主要介紹了php實(shí)現(xiàn)Mongodb自定義方式生成自增ID的方法,實(shí)例分析了Mongodb自增字段的實(shí)現(xiàn)技巧與對應(yīng)php操作方法,需要的朋友可以參考下2015-03-03

