【测试环境】
windows 8.1
wampserver 2.4
总共循环10次,每次测试1000000次,计算出每次循环的时间和总的时间,并且算出平均值
【测试代码】
点运算符性能测试代码:
$total = 1000000;
$loop = 10;
$a = '123';
$b = '456';
$c = '789';
$str = '';
$total_spend = 0;
for ($num=1; $num<=$loop; $num++) {
$start = microtime(true);
for ($i=0; $i<$total; $i++) {
$str = $a . $b . $c;
}
$end = microtime(true);
$spend = $end - $start;
echo "loop $num: " . $spend .'<br/>';
$total_spend += $spend;
}
$avg = $total_spend / $loop;
echo 'average spend: ' . $avg . '<br>';
双引号变量替换性能测试代码:
$total = 1000000;
$loop = 10;
$a = '123';
$b = '456';
$c = '789';
$str = '';
$total_spend = 0;
for ($num=1; $num<=$loop; $num++) {
$start = microtime(true);
for ($i=0; $i<$total; $i++) {
$str = "{$a}{$b}{$c}";
}
$end = microtime(true);
$spend = $end - $start;
echo "loop $num: " . $spend .'<br/>';
$total_spend += $spend;
}
$avg = $total_spend / $loop;
echo 'average spend: ' . $avg . '<br>';
【测试结果】
点运算符:

双引号变量替换:

【结论】
在php中,双引号变量替换的性能比点运算符的性能要好。