ホームページ  >  記事  >  バックエンド開発  >  PHP での複数の文字列接続の効率比較

PHP での複数の文字列接続の効率比較

高洛峰
高洛峰オリジナル
2017-02-24 17:31:571830ブラウズ

php には大きく分けて 3 種類の文字列接続があります:

1 を使用して直接接続します。

2. .= を使用して接続します。

3. まず配列にプッシュし、次に join 関数を通じて接続します。

これら 3 つのメソッドの効率を以下でテストします。

最初のメソッドのコードは次のとおりです:

<?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 回実行します。3 回は:

22.165272951126

22.003527164459
22.15947508812

2 番目のメソッド コードは次のとおりです:

<?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 回は次のとおりです:

3.1967310905457

3.1296961307526
3.0872850418091

3 番目のメソッド コードは次のとおりです:

<?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 回は

3.3184430599213

3 .275 9411334991

3.2663381099701

可能な限り上記からわかるように、 を介して文字列を直接連結するのが最も効率的ではありません。

PHP における複数の文字列接続の効率比較 (詳細な説明) に関する上記の記事は、すべて編集者が共有した内容であり、参考になれば幸いです。また、PHP 中国語 Web サイトをサポートしていただければ幸いです。

PHP での複数の文字列接続の効率比較に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。