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