使用大括号语法稍慢.考虑以下测试:
$array = array('key'=>'val');
$start1 = microtime(TRUE);
for ($i = 0; $i < 100000; $i++) {
$str = "{$array['key']}";
}
$end1 = microtime(TRUE);
$result1 = $end1 - $start1;
$start2 = microtime(TRUE);
for ($j = 0; $j < 100000; $j++) {
$str = "".$array['key']."";
}
$end2 = microtime(TRUE);
$result2 = $end2 - $start2;
$start3 = microtime(TRUE);
for ($k = 0; $k < 100000; $k++) {
$str = ''.$array['key'].'';
}
$end3 = microtime(TRUE);
$result3 = $end3 - $start3;
echo "1: $result1\n2: $result2\n3: $result3\n";
?>
在我的PHP / 5.2.19-win32系统上,第一个测试(带花括号)稍慢(~7%).然而,差异是如此之小,以至于不值得担心,我想说做你最满意的事情.
稍微违反直觉,第二次测试始终比第三次测试(~2%)快 – 双引号比单引号更快 – 我本来预计它会反过来.