PHP变量插值vs连接

Ale*_*ley 63 php string variables concatenation string-interpolation

以下两种方法(性能,可读性等)之间的区别是什么?您更喜欢什么?

echo "Welcome {$name}s!"
Run Code Online (Sandbox Code Playgroud)

echo "Welcome " . $name . "!";
Run Code Online (Sandbox Code Playgroud)

Bor*_*iet 54

无论哪种方式最适合你的作品......但如果你想快速使用这个:

echo 'Welcome ', $name, '!';
Run Code Online (Sandbox Code Playgroud)

单引号告诉PHP不需要解释,逗号告诉PHP只回显字符串,不需要连接.

  • 单引号和双引号之间的速度差异是一个神话(至少在本千年发布的PHP版本中)http://www.phpbench.com/ (32认同)
  • 性能差异实际上是几微秒!另一方面`echo"欢迎$ name!";`的可读性要高很多倍. (12认同)
  • 我对速度的提及是使用逗号而不是点,这是(略微)更快.而这也得到了您提供的链接的支持.非常有趣的链接顺便说一句!!! (11认同)
  • @Shayne这是一个从字符串插值**跳跃的SQL**是一个坏的,坏习惯(我全心全意地同意!)字符串插值**一般**是一个坏习惯.我个人认为它比串联更易读(更简洁),并在适用的地方使用它.一般来说,是否存在针对字符串插值的强烈论据? (5认同)
  • @shayne SQL参数与该问题完全无关,在SQL上下文中,字符串串联_exactly_与插值一样糟糕,并且出于同样的原因。 (2认同)