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