- 相關(guān)推薦
20條PHP代碼優(yōu)化技巧
一個(gè)程序猿不會優(yōu)化代碼?就不是一個(gè)好攻城獅。以下是小編精心為大家整理的20條PHP代碼優(yōu)化技巧,希望對大家有所幫助!
一個(gè)程序員優(yōu)秀與否的判斷標(biāo)準(zhǔn)并非在于他是否能夠編出既定的功能,而是在于他是否能用最精簡、最易維護(hù)的代碼,換來最快的運(yùn)行速度。下面小編就為大家整理了一些PHP 代碼優(yōu)化方面的小技巧。
1、echo的速度比print快。
2、代碼編寫中,使用echo的多重參數(shù)代替字符串連接。
3、在執(zhí)行for循環(huán)之前確定最大循環(huán)數(shù),不要每循環(huán)一次都計(jì)算最大值,最好運(yùn)用foreach代替。
4、對global變量,應(yīng)該用完就unset()掉,精簡代碼。
5、用單引號代替雙引號來包含字符串,提升效率。因?yàn)镻HP會在雙引號包圍的字符串中搜尋變量,單引號則不會。
6、正則表達(dá)式用函數(shù)代替,完成相同功能。
7、當(dāng)執(zhí)行變量$i的遞增或遞減時(shí),使用前置遞增或遞減。比如:$i++會比++$i慢一些,這種差異是PHP特有的,并不適用于其他語言,++$i更快是因?yàn)樗恍枰?條指令(opcodes),$i++則需要4條指令。后置遞增實(shí)際上會產(chǎn)生一個(gè)臨時(shí)變量,這個(gè)臨時(shí)變量隨后被遞增。而前置遞增直接在原值上遞增。
8、使用選擇分支語句(switch case)優(yōu)于使用多個(gè)if,else if語句。
9、利用var_dump進(jìn)行PHP代碼調(diào)試。如果你在尋找php調(diào)試技術(shù),我必須說var_dump應(yīng)該是你要找的目標(biāo),在顯示php信息方面這個(gè)命令可以滿足你的所有需要,而調(diào)試代碼的多數(shù)情況與得到PHP中的數(shù)值有關(guān)。
10、在包含文件時(shí)使用完整路徑,解析操作系統(tǒng)路徑所需的時(shí)間會更少。
11、動(dòng)輒創(chuàng)建全局?jǐn)?shù)值是一種糟糕的做法,不過有時(shí)候?qū)嶋H情況的確又需要這么做。
對于數(shù)據(jù)庫表或數(shù)據(jù)庫連接信息使用全局?jǐn)?shù)值是一個(gè)不錯(cuò)的想法,但不要在你的PHP代碼中頻繁使用全局?jǐn)?shù)值。另外,更好的一種做法是把你的全局變量存放在一個(gè)config.php文件中。
12、使用$_SERVER[‘REQUEST_TIME’]要好于time(),確定腳本開始執(zhí)行的時(shí)刻。
13、用@屏蔽錯(cuò)誤消息的做法非常低效。
14、盡量采用的PHP內(nèi)置函數(shù)。
15、遞增一個(gè)未預(yù)定義的局部變量要比遞增一個(gè)預(yù)定義的局部變量慢9至10倍。
16、派生類中的方法運(yùn)行起來要快于在基類中定義的同樣的方法。
17、僅定義一個(gè)局部變量而沒在函數(shù)中調(diào)用它,同樣會減慢速度(其程度相當(dāng)于遞增一個(gè)局部變量)
18、Apache解析一個(gè)PHP腳本的時(shí)間要比解析一個(gè)靜態(tài)HTML頁面慢2至10倍。盡量多用靜態(tài)HTML頁面,少用腳本。
19、正如之前提到的,任何php網(wǎng)站中最重要的部分有99%的可能是數(shù)據(jù)庫。因此,你需要非常熟悉如何正確的使用sql,學(xué)會關(guān)聯(lián)表和更多高級的數(shù)據(jù)庫技術(shù)。
20、引入PHP緩存機(jī)制通?梢蕴嵘25%至100%的性能,因?yàn)槌悄_本可以緩存,否則每次調(diào)用時(shí)都會重新編譯一次。
將php實(shí)現(xiàn)過濾UBB代碼
本文實(shí)例講述了php實(shí)現(xiàn)過濾UBB代碼的類。分享給大家供大家參考。具體如下:
PHP代碼如下:
復(fù)制代碼 代碼如下:class Day{
function ubb($Text) { /// UBB代碼轉(zhuǎn)換
//$Text=htmlspecialchars($Text);
//$Text=ereg_replace("rn","
",$Text);
$Text=ereg_replace("[br]","
",$Text);
$Text=nl2br($Text);
$Text=stripslashes($Text);
$Text=preg_replace("/t/is"," ",$Text);
$Text=preg_replace("/[url](http://.+"1",$Text);
$Text=preg_replace("/[url](.+"1",$Text);
$Text=preg_replace("/[url=(http://.+?)](.+"2",$Text);
$Text=preg_replace("/[url=(.+?)](.+"2",$Text);
$Text=preg_replace("/[color=(.+?)](.+","2",$Text);
$Text=preg_replace("/[font=(.+?)](.+","2",$Text);
$Text=preg_replace("/[email=(.+?)](.+","2",$Text);
$Text=preg_replace("/[email](.+","1",$Text);
$Text=preg_replace("/[i](.+"1",$Text);
$Text=preg_replace("/[u](.+"1",$Text);
$Text=preg_replace("/[b](.+"1",$Text);
$Text=preg_replace("/[fly](.+"1",$Text);
$Text=preg_replace("/[move](.+","1",$Text);
$Text=preg_replace("/[shadow=([#0-9a-z]{1,10}),([0-9]{1,3}),([0-9]{1,2})](.+?)[/shadow]/is","
return $Text; ",$Text);}}
【20條PHP代碼優(yōu)化技巧】相關(guān)文章:
PHP代碼優(yōu)化技巧05-29
PHP調(diào)用的C代碼技巧06-27
提高PHP代碼質(zhì)量的技巧05-18
PHP性能優(yōu)化的技巧07-18
PHP性能優(yōu)化技巧02-22
PHP學(xué)習(xí)路線以及PHP優(yōu)化技巧08-06
PHP性能優(yōu)化小技巧06-27