如何優(yōu)化PHP代碼可以提高速度

小編給大家分享一下如何優(yōu)化PHP代碼可以提高速度,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

創(chuàng)新互聯(lián)建站一直通過(guò)網(wǎng)站建設(shè)和網(wǎng)站營(yíng)銷幫助企業(yè)獲得更多客戶資源。 以"深度挖掘,量身打造,注重實(shí)效"的一站式服務(wù),以網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、移動(dòng)互聯(lián)產(chǎn)品、全網(wǎng)營(yíng)銷推廣服務(wù)為核心業(yè)務(wù)。10余年網(wǎng)站制作的經(jīng)驗(yàn),使用新網(wǎng)站建設(shè)技術(shù),全新開發(fā)出的標(biāo)準(zhǔn)網(wǎng)站,不但價(jià)格便宜而且實(shí)用、靈活,特別適合中小公司網(wǎng)站制作。網(wǎng)站管理系統(tǒng)簡(jiǎn)單易用,維護(hù)方便,您可以完全操作網(wǎng)站資料,是中小公司快速網(wǎng)站建設(shè)的選擇。

網(wǎng)頁(yè)訪問(wèn)速度的提升,是可以通過(guò)代碼的優(yōu)化來(lái)實(shí)現(xiàn)的。代碼的優(yōu)化,并不是說(shuō)代碼越少越好,而是主要看代碼的運(yùn)行能力和執(zhí)行效率,看其消耗CPU和內(nèi)存的多少。例如Facebook近來(lái)就宣布通過(guò)代碼優(yōu)化而將網(wǎng)站性能提高了一倍,平均訪問(wèn)時(shí)間從5s降至2.5s,這個(gè)結(jié)果無(wú)疑是極其誘人的。

PHP是一門很多人正在使用的語(yǔ)言,在網(wǎng)站開發(fā)上PHP的使用廣泛度超過(guò)ASP和ASP.NET,看看時(shí)下流行的CMS和博客用什么語(yǔ)言來(lái)開發(fā)的就知道了。

其實(shí)PHP入門很容易,尤其是對(duì)于一個(gè)已經(jīng)接觸過(guò)程序編寫的人來(lái)說(shuō),而對(duì)于沒(méi)有接觸過(guò)程序語(yǔ)言的菜鳥來(lái)說(shuō),學(xué)習(xí)用PHP做一個(gè)輸出helloworld的網(wǎng)頁(yè)也很輕松。

然而要編寫高效率的代碼,并不是所有懂程序的人都可以編寫出來(lái)的,這需要經(jīng)過(guò)多年的研究積累和經(jīng)驗(yàn)總結(jié)。

本文將給大家提煉一些PHP代碼優(yōu)化的實(shí)例,利用這些優(yōu)化,PHP代碼的運(yùn)行能力將會(huì)大大提高,速度提升5倍以上有些情況下并不是不能出現(xiàn)。

1、echo比print快

echo和print是PHP程序中經(jīng)常使用的指令,尤其是需要調(diào)試的時(shí)候。echo和print都能輸出一段信息,但經(jīng)測(cè)試發(fā)現(xiàn),echo運(yùn)行速度會(huì)比print快,因此在程序編寫是應(yīng)使用echo而非print。但是有時(shí)候也需要用到print,echo不能完全代替print。請(qǐng)看phpecho()和print()有什么區(qū)別。

2、連接符用逗號(hào)而不是句號(hào)

php里逗號(hào)和句號(hào)都可以起到連接符的作用,關(guān)于如何優(yōu)化輸出,可以看這里如何優(yōu)化php字符串echo輸出。

此外,輸出多個(gè)字符串時(shí),用逗號(hào)代替句點(diǎn)來(lái)分隔字符串,速度更快。

3、使用選擇分支語(yǔ)句(譯注:即switchcase)好于使用多個(gè)if,elseif語(yǔ)句。

ifelseif的使用非常普遍,在其他語(yǔ)言里也一樣,這個(gè)寫法好像更符合人的說(shuō)話習(xí)慣,但是在程序里這樣寫并不太好,它在效率上比switchcase要低。所以,一旦程序里需要多個(gè)判斷時(shí),就應(yīng)該用switchcase而不要再用ifelseifelseif這樣。

4、數(shù)據(jù)庫(kù)連接當(dāng)使用完畢時(shí)應(yīng)關(guān)掉

在操作數(shù)據(jù)庫(kù)時(shí),很多程序員往往忘記關(guān)掉數(shù)據(jù)庫(kù)連接,或許他們沒(méi)有這個(gè)習(xí)慣。數(shù)據(jù)庫(kù)連接是需要消耗內(nèi)存為代價(jià)的,連接數(shù)越多內(nèi)存消耗就越多,所以在實(shí)際應(yīng)用中都必須及時(shí)關(guān)閉不需要用到的連接,以釋放內(nèi)存,緩解服務(wù)器壓力。

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

錯(cuò)誤消息一般用于調(diào)試,它的執(zhí)行效率其實(shí)是很低的,速度上會(huì)比直接運(yùn)行慢很多。所以,在程序不需要抓取錯(cuò)誤消息時(shí),就不要用。

6、局部變量要合理使用

盡量不要在for循環(huán)中使用函數(shù),比如for($x=0;$xprop)要比遞增一個(gè)局部變量慢3倍。

遞增一個(gè)未預(yù)定義的局部變量要比遞增一個(gè)預(yù)定義的局部變量慢9至10倍。

僅定義一個(gè)局部變量而沒(méi)在函數(shù)中調(diào)用它,同樣會(huì)減慢速度(其程度相當(dāng)于遞增一個(gè)局部變量)。PHP大概會(huì)檢查看是否存在全局變量。

7、用單引號(hào)代替雙引號(hào)來(lái)包含字符串

實(shí)踐證明,用單引號(hào)代替雙引號(hào)來(lái)包含字符串,這樣做會(huì)更快一些。

因?yàn)镻HP會(huì)在雙引號(hào)包圍的字符串中搜尋變量,單引號(hào)則不會(huì)。當(dāng)然,只有當(dāng)你不需要在字符串中包含變量時(shí)才可以這么做。更多分析請(qǐng)看實(shí)例分析php單引號(hào)和雙引號(hào)的區(qū)別。

看完了這篇文章,相信你對(duì)“如何優(yōu)化PHP代碼可以提高速度”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)頁(yè)題目:如何優(yōu)化PHP代碼可以提高速度
瀏覽路徑:http://bm7419.com/article20/geghjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)公司面包屑導(dǎo)航、服務(wù)器托管、電子商務(wù)、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)