在PHP中使用单引号和双引号的Echo

6

1
http://www.php.net/manual/en/language.types.string.php - Felix Kling
2个回答

14

我认为双引号允许变量被它们的值替换:

echo "test = $test";

显示:

test = 2

echo 'test = $test';

显示:

test = $test


1

单引号字符串不会被解释器扩展变量或转义序列,而双引号字符串会 - 观察以下两者不同的输出:

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

单引号字符串因为解释器不必检查字符串内容是否包含变量引用,所以在使用上略微“更好”。

双引号或单引号在速度上完全没有任何区别。请参见我的个人测试@http://gnur.nl/speed.php。 - gnur
@gnur:查看了一些基准测试后,你可能是正确的,性能差异可以忽略不计。决定因素应该是可读性和代码易用性(我认为这往往支持"This is a $foo."而不是'This is a ' . $foo . '.')。 - Gavin Ballard
我同意为了可读性而不在字符串中包含变量,但是当你使用更多的语言时,不包含变量会更有意义,因为大多数语言都不支持它们。 - gnur

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接