溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

可以提高php編程效率的20個(gè)要點(diǎn)

發(fā)布時(shí)間:2020-06-16 06:45:16 來(lái)源:網(wǎng)絡(luò) 閱讀:175 作者:qq5c515084c7374 欄目:云計(jì)算

整理了可以提高php編程效率的20個(gè)要點(diǎn),發(fā)博客記錄一下,需要的朋友可以參考。

  1、如果能將類(lèi)的方法定義成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、注銷(xiāo)那些不用的變量尤其是大數(shù)組,以便釋放內(nèi)存。

  6、盡量避免使用get,set,__autoload。

  7、require_once()代價(jià)昂貴。

  8、include文件時(shí)盡量使用絕對(duì)路徑,因?yàn)樗苊饬薖HP去include_path里查找文件的速度,解析操作系統(tǒng)路徑所需的時(shí)間會(huì)更少。

  9、如果你想知道腳本開(kāi)始執(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ù)長(zhǎng)度不太長(zhǎng),那么可以考慮額外寫(xiě)一段替換代碼,使得每次傳遞參數(shù)是一個(gè)字符,而不是只寫(xiě)一行代碼接受數(shù)組作為查詢和替換的參數(shù)。

  13、使用選擇分支語(yǔ)句(譯注:即switch case)好于使用多個(gè)if,else if語(yǔ)句。

  14、用@屏蔽錯(cuò)誤消息的做法非常低效,極其低效。

  15、打開(kāi)apache的mod_deflate模塊,可以提高網(wǎng)頁(yè)的瀏覽速度。

  16、數(shù)據(jù)庫(kù)連接當(dāng)使用完畢時(shí)應(yīng)關(guān)掉,不要用長(zhǎng)連接。

  17、錯(cuò)誤消息代價(jià)昂貴。

  18、在方法中遞增局部變量,速度是最快的。幾乎與在函數(shù)中調(diào)用局部變量的速度相當(dāng)。

  19、遞增一個(gè)全局變量要比遞增一個(gè)局部變量慢2倍。

  20、遞增一個(gè)對(duì)象屬性(如:$this->prop++)要比遞增一個(gè)局部變量慢3倍。

  還有,用單引號(hào)代替雙引號(hào)來(lái)包含字符串,這樣做會(huì)更快一些。因?yàn)镻HP源碼會(huì)在雙引號(hào)包圍的字符串中搜尋變量,單引號(hào)則 不會(huì),注意:只有echo能這么做,它是一種可以把多個(gè)字符串當(dāng)作參數(shù)的“函數(shù)”(譯注:PHP手冊(cè)中說(shuō)echo是語(yǔ)言結(jié)構(gòu),不是真正的函數(shù),故把函數(shù)加 上了雙引號(hào))。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI