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 94113349913.2663381099701
可能な限り上記からわかるように、 を介して文字列を直接連結するのが最も効率的ではありません。
PHP における複数の文字列接続の効率比較 (詳細な説明) に関する上記の記事は、すべて編集者が共有した内容であり、参考になれば幸いです。また、PHP 中国語 Web サイトをサポートしていただければ幸いです。
PHP での複数の文字列接続の効率比較に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。