用單引號(hào)代替雙引號(hào)來包含字符串婴氮,這樣做會(huì)更快一些。因?yàn)镻HP會(huì)在雙引號(hào)包圍的字符串中搜尋變量许蓖,單引號(hào)則 不會(huì)罪塔,注意:只有echo能這么做,它是一種可以把多個(gè)字符串當(dāng)作參數(shù)的“函數(shù)”(譯注:PHP手冊(cè)中說echo是語言結(jié)構(gòu)隅忿,不是真正的函數(shù)谨垃,故把函數(shù)加 上了雙引號(hào))。
1硼控、如果能將類的方法定義成static刘陶,就盡量定義成static,它的速度會(huì)提升將近4倍牢撼。
2匙隔、$row[’id’] 的速度是$row[id]的7倍。
3熏版、echo 比 print 快纷责,并且使用echo的多重參數(shù)(譯注:指用逗號(hào)而不是句點(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í)盡量使用絕對(duì)路徑黍匾,因?yàn)樗苊饬?a target="_blank" rel="nofollow">PHP去include_path里查找文件的速度栏渺,解析操作系統(tǒng)路徑所需的時(shí)間會(huì)更少。
9膀捷、如果你想知道腳本開始執(zhí)行(譯注:即服務(wù)器端收到客戶端請(qǐng)求)的時(shí)刻迈嘹,使用$_SERVER[‘REQUEST_TIME’]要好于time()。
10、函數(shù)代替正則表達(dá)式完成相同功能秀仲。
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è)對(duì)象屬性(如:$this->prop++)要比遞增一個(gè)局部變量慢3倍支救。