当前位置: 代码迷 >> PHP >> PHP有没有必要实现stringbuilder解决思路
  详细解决方案

PHP有没有必要实现stringbuilder解决思路

热度:65   发布时间:2016-04-28 18:39:46.0
PHP有没有必要实现stringbuilder
本人刚刚毕业,也是从C#转来,在学习PHP的过程中发现PHP没有类似C#一样的stringbuilder类型。
因为我知道在C#中多次操作字符串用stringbuilder的效率要高过string,那么想问下PHP为什么没有实现stringbuilder?
还有,如果我自己用数组模拟stringbuilder的话会提高效率么?
------解决方案--------------------
字符串比數組模拟快多了。
字符串

$starttime = getMicrotime();
$str = '';
for($i=0;$i<100000;$i++){
    $str .= $i;
}
$endtime = getMicrotime();

printf("run time %f ms\r\n", (float)($endtime-$starttime)*1000); 

function getMicrotime(){
    list($usec, $sec) = explode(' ', microtime());
    return (float)$usec + (float)$sec;
}

run time 61.100006 ms

数组

$starttime = getMicrotime();
$arr = array();
for($i=0;$i<100000;$i++){
    array_push($arr, $i);
}
$endtime = getMicrotime();

printf("run time %f ms\r\n", (float)($endtime-$starttime)*1000);

function getMicrotime(){
    list($usec, $sec) = explode(' ', microtime());
    return (float)$usec + (float)$sec;
}

run time 200.176954 ms