我想知道,插入PHP变量到字符串的正确方法是什么? 这种方式:

echo "Welcome ".$name."!"

或者这样:

echo "Welcome $name!"

这两种方法都可以在我的PHP v5.3.5中使用。后者更短更简单,但我不确定前者是更好的格式还是更合适。


当前回答

这只是趣味问题。 你想用什么就用什么。

大多数时候我用第二个,但这要看情况。

我还建议你找一个好的编辑器,它可以突出显示字符串中的变量

其他回答

两种都可以。使用对你来说能见度更好的那个。说到可见性,你也可以查看printf。

从第一个开始,使用单引号!

它更容易阅读,这意味着其他程序员将知道发生了什么 它的工作速度略快,PHP解剖源代码时创建操作码的方式,基本上都会这样做,所以给它一个帮助! 如果你也使用单引号而不是双引号,你会进一步提高你的表现。

只有当你需要\r, \n, \t时,你才应该使用双引号! 在任何其他情况下使用它的开销都是不值得的。

您还应该检查PHP变量拼接,phpbench.com,以获得关于不同操作方法的一些基准测试。

你应该选择第一个。他们没有什么不同,除了性能,第一个将是最快的第二个比较。

如果双引号内的变量PHP需要时间来解析变量。

检查这个单引号或双引号变量连接?

在php中单引号和双引号是否有性能上的优势?

我不明白为什么上面链接的这个答案会被点赞,为什么这个答案会被点赞。

我也说过了。

你也可以看这里

PHP中哪个更快,单引号还是双引号?

这只是趣味问题。 你想用什么就用什么。

大多数时候我用第二个,但这要看情况。

我还建议你找一个好的编辑器,它可以突出显示字符串中的变量

我知道这是一个老问题,但我认为有人必须提到所有的优点和缺点:

这是个人偏好。

性能:没有区别。正如许多人提到的,如果使用不切实际的许多变量,双引号可能会更快。

更好的用法:单引号(大多数情况下)。正如@Khez所说,用单引号你可以连接任何东西,甚至是函数调用和变量修改,就像这样:echo 'hi '。(名字)美元。($i + 1);双引号能做而单引号不能做的唯一一件事是使用\n、\r、\t等。

可读性:没有区别(可能有个人偏好)。

可写性/可重写性/调试:在单行语句中没有区别,但在处理多行语句时,在调试或编写时注释/取消注释更容易。例如:

$q = 'SELECT ' .
     't1.col1 ' .
     ',t2.col2 ' .
   //',t3.col3 ' .
     'FROM tbl1 AS t1 ' .
     'LEFT JOIN tbl2 AS t2 ON t2.col2 = t1.col1 ' .
   //'LEFT JOIN tbl3 AS t3 ON t3.col3 = t2.col2 ' .
     'WHERE t1.col1 = ' . $x . ' ' .
     '  AND t2.col2 = ' . $y . ' ' .
   //'  AND t3.col3 = ' . $z . ' ' .
     'ORDER BY t1.col1 ASC ' .
     'LIMIT 10';

减少逃避:单引号。对于单引号,只需要转义2个字符('和\)。对于双引号,您需要转义2个字符(",\),如果需要,还需要转义3个字符($,{和})。

变化少:单引号。例如,如果你有以下代码:

echo 'Number ' . $i . '!';

你需要增加1到$i,所以它变成了like:

echo 'Number ' . ($i + 1) . '!';

但是对于双引号,你需要改变这个:

echo "Number $i!";

:

echo "Number " . ($i + 1) . "!";

结论:用你喜欢的。