首頁  >  文章  >  後端開發  >  php幾種字串連接的效率比較

php幾種字串連接的效率比較

高洛峰
高洛峰原創
2017-02-24 17:31:571841瀏覽

php大致上有三種字串連接:

1、直接用.來連接。

2、用.=連接。

3、先壓入數組,再透過join函數連接。

以下分別對這三種方法的效率進行測試:

#第一種方法程式碼如下:

<?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;
   
?>

運行4次,除去第一次運行時間,三次時間分別為:

22.165272951126
22.003527164459
22.1594750812

#第二個方法程式碼如下:

<?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;
   
?>

執行4次,除去第一次執行時間,三次時間分別為:

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;
   
?>

運行4次,除去第一次運行時間,三次時間分別為:

3.3184430599213

#3.2759411334991
#3.266338109701

############ ##由上可見,直接通過.進行字串的連接效率最為低。 ######以上這篇關於php幾種字串連接的效率比較(詳解)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持PHP中文網。 ######更多php幾種字串連接的效率比較相關文章請關注PHP中文網! ###
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn