ホームページ  >  記事  >  バックエンド開発  >  PHP で stringbuilder ソリューションを実装する必要がありますか?

PHP で stringbuilder ソリューションを実装する必要がありますか?

WBOY
WBOYオリジナル
2016-06-13 12:04:541000ブラウズ

PHP に stringbuilder を実装する必要はありますか?
私は卒業して C# から移行したばかりですが、PHP には C# のような stringbuilder 型がないことがわかりました。
C# で文字列を複数回操作する場合、string よりも stringbuilder の方が効率的であることはわかっているのですが、なぜ PHP は stringbuilder を実装しないのですか?
また、配列を使用して stringbuilder をシミュレートすると効率が向上しますか?
------解決策---------
文字列シミュレーションは配列シミュレーションよりもはるかに高速です。
文字列

<br />$starttime = getMicrotime();<br />$str = '';<br />for($i=0;$i<100000;$i++){<br />    $str .= $i;<br />}<br />$endtime = getMicrotime();<br /><br />printf("run time %f ms\r\n", (float)($endtime-$starttime)*1000); <br /><br />function getMicrotime(){<br />    list($usec, $sec) = explode(' ', microtime());<br />    return (float)$usec + (float)$sec;<br />}<br />

実行時間 61.100006 ミリ秒

配列
<br />$starttime = getMicrotime();<br />$arr = array();<br />for($i=0;$i<100000;$i++){<br />    array_push($arr, $i);<br />}<br />$endtime = getMicrotime();<br /><br />printf("run time %f ms\r\n", (float)($endtime-$starttime)*1000);<br /><br />function getMicrotime(){<br />    list($usec, $sec) = explode(' ', microtime());<br />    return (float)$usec + (float)$sec;<br />}<br />

実行時間 200.176954 ミリ秒

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