PHP变量插值与连接的区别

74

以下两种方法有何区别(性能、可读性等),您倾向于哪一种?

echo "Welcome {$name}s!"

对比。

echo "Welcome " . $name . "!";

4
无论哪个更易读...但是,由于这个问题只是在征求意见,而不是一个具有确定性或事实的答案的问题,所以它并不适合作为一个SO问题。 - Mark Baker
1个回答

62

无论对你来说何种方式最好,都可以使用... 但如果你想追求速度,可以使用这个:

echo 'Welcome ', $name, '!';
单引号告诉PHP不需要解释,逗号告诉PHP只需输出字符串,无需连接。

40
单引号和双引号之间的速度差异是一个谬论(至少在本千年发布的PHP版本中如此)。http://www.phpbench.com/ - Rich Remer
12
我提到速度是通过使用逗号而不是点号,这样稍微更快。而且这也得到了你提供的链接的支持。顺便说一句,非常有趣的链接! - Borniet
13
性能差异实际上只有微秒级别!另一方面,echo "欢迎 $name!"; 更易读许多倍。 - totymedli
5
从在 SQL 中使用字符串插值是一种不好的习惯(我完全同意!),到在一般情况下使用字符串插值也是一种不好的习惯,这跨越有点大。个人认为,与连接符相比,字符串插值更易读(更清晰),并且在适用的地方都可以使用它。是否存在任何强有力的反对字符串插值的论据呢? - ksadowski
2
@shayne,SQL参数与问题完全无关,字符串拼接和插值在SQL环境中的问题完全相同。 - philomory
显示剩余4条评论

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