2011-03-11 61 views

回答

10

相信双引号允许变量由值替换:

echo "test = $test"; 

显示:

测试= 2

echo 'test = $test'; 

显示:

测试= $测试

+0

恰好相反 – Flo

+0

修正了它。现在这是正确的方式。 –

+1

对不起。 感谢您纠正我:-) –

0

单引号字符串不会有变量或逃避解释扩展序列,而双引号字符串会 - 看看输出不同:

$foo = 'bar'; 
echo 'This is a $foo'; 
echo "This is a $foo"; 

因此,单引号字符串稍微“更好”一些,因为解释器不必检查字符串的内容以获取变量引用。

+0

双倍或单引号对速度完全没有影响。 查看我的个人测试@ http://gnur.nl/speed.php – gnur

+0

@gnur:在快速浏览一些基准测试之后,您可能是正确的,但性能差异可以忽略不计。决定因素应该是可读性和易于使用的代码(我认为这往往与''这是一个$ foo。'''over'''这是一个'。$ foo''。'')。“ –

+0

我同意可读性,但是当你使用更多的语言时,在你的字符串中不包含变量更有意义,因为它们大部分都不被支持。 – gnur