|
|
|
|
|
此文給大家分享的是本人的一個php使用心得,如何優(yōu)化php字符串連接,從而提高程序運(yùn)行速度。
如下4種方式,都能得到同樣的結(jié)果,但是,只有第4種方式是最好的。
$foo = 'John SMITH';
echo "Hello $foo, welcome on my website.";
echo "Hello " . $foo . " welcome on my website.";
echo 'Hello ' . $foo . ' welcome on my website.';
echo 'Hello ', $foo , ' welcome on my website.';
我敢肯定你們都知道echo '$foo'是不會工作的,但是,我十分肯定的告訴你,那就是使用雙引號去顯示一個簡單的信息,那是非常不好的。
讓我們開始吧。第一個不能運(yùn)行(第二個也一樣),因?yàn)槭褂秒p引號會強(qiáng)制php為此字符串尋找替換值。
第二個好一些,因?yàn)閜hp沒有替換需要執(zhí)行的。
第三個更好,因?yàn)槭褂昧藛我?,因此語言知道你能夠脫離進(jìn)程傳送文本,但是“不好”的事情是使用了連接符(不操作,就行第二個例子一樣)。
最后一個使用了單引號,并且加了一個連接符。為什么這樣處理最好呢?
好吧,讓我們看看當(dāng)使用第三種方法時會發(fā)生什么。
php創(chuàng)建一個字符串,包含“Hello”,然后擴(kuò)充它,加上foo變量(“John SMITH”),然后,再次擴(kuò)充它,加上“Welcome on my website.”語句,然后,echo能使用它。
然而第四個例子,echo唯一做的一件事是發(fā)送“Hello”,接著輸出$foo的內(nèi)容,再輸出“Welcome on my website.”。因?yàn)閑cho僅僅是發(fā)送文本而沒有創(chuàng)建一個需要擴(kuò)充內(nèi)容的字符串。
創(chuàng)建一個基準(zhǔn)測試后結(jié)果如下:
0.0022029876709
0.00211095809937
0.00213599205017
0.00551700592041
第四種方法的執(zhí)行速度最慢。
從這篇文章,我們應(yīng)該明白如何優(yōu)化php字符串連接符,從而提高程序運(yùn)行速度。
你知道嗎?“,”逗號也可作php連接符
在上述第四個例子里,發(fā)現(xiàn)原來“,”逗號也可作php的連接符的,我們大家一般都是使用一點(diǎn)“.”作連接符的。
據(jù)說,這可能是從C開始帶過來的習(xí)慣,printf這類的輸出都是變參的,echo也繼承了這個優(yōu)良傳統(tǒng)。不過需要明白的是,這里的逗號是參數(shù)間隔符,不是字符串連接符。