關(guān)于php幾種字符串連接的效率比較(詳解)
php大致有三種字符串連接:
1、直接用.來進(jìn)行連接。
2、用.=進(jìn)行連接。
3、先壓入數(shù)組,再通過join函數(shù)連接。
下面分別對這三種方法的效率進(jìn)行測試:
第一種方法代碼如下:
<?php
function get_tm() {
list ( $usec, $sec ) = explode ( " ", microtime () );
return (( float ) $usec + ( float ) $sec);
}
$temp="test";
$result="";
define("num",100000);
$start=get_tm();
for($i=0;$i<num;$i++)
{
$result=$result.$temp;
}
echo get_tm()-$start;
?>
運(yùn)行4次,除去第一次運(yùn)行時間,三次時間分別為:
22.165272951126
22.003527164459
22.15947508812
第二種方法代碼如下:
<?php
function get_tm() {
list ( $usec, $sec ) = explode ( " ", microtime () );
return (( float ) $usec + ( float ) $sec);
}
$temp="test";
$result="";
define("num",100000);
$start=get_tm();
for($i=0;$i<num;$i++)
{
$result.=$temp;
}
echo get_tm()-$start;
?>
運(yùn)行4次,除去第一次運(yùn)行時間,三次時間分別為:
3.1967310905457
3.1296961307526
3.0872850418091
第三種方法代碼如下:
<?php
function get_tm() {
list ( $usec, $sec ) = explode ( " ", microtime () );
return (( float ) $usec + ( float ) $sec);
}
$temp="test";
$result="";
$arr=array();
define("num",100000);
$start=get_tm();
for($i=0;$i<num;$i++)
{
array_push($arr, $temp);
}
$result=join($arr);
echo get_tm()-$start;
?>
運(yùn)行4次,除去第一次運(yùn)行時間,三次時間分別為:
3.3184430599213
3.2759411334991
3.2663381099701
由上可見,直接通過.進(jìn)行字符串的連接效率最為低下。
以上這篇關(guān)于php幾種字符串連接的效率比較(詳解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
php注冊系統(tǒng)和使用Xajax即時驗證用戶名是否被占用
這篇文章主要為大家詳細(xì)介紹了php注冊系統(tǒng)和使用Xajax即時驗證用戶名是否被占用,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08
php 使用curl模擬ip和來源進(jìn)行訪問的實現(xiàn)方法
下面小編就為大家?guī)硪黄猵hp 使用curl模擬ip和來源進(jìn)行訪問的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05
使用JSON實現(xiàn)數(shù)據(jù)的跨域傳輸?shù)膒hp代碼
某網(wǎng)站后臺用php腳本得到一個JSON格式的數(shù)據(jù),交給前臺javascript進(jìn)行處理,使用JSON實現(xiàn)數(shù)據(jù)的跨域調(diào)用2011-12-12
讓Json更懂中文(JSON_UNESCAPED_UNICODE)
我們知道, 用PHP的json_encode來處理中文的時候, 中文都會被編碼, 變成不可讀的, 類似”\u***”的格式, 還會在一定程度上增加傳輸?shù)臄?shù)據(jù)量.2011-10-10

