PHP - 连接或直接在字符串中插入变量

2022-08-30 06:07:01

我想知道,将PHP变量插入字符串的正确方法是什么?

这边:

echo "Welcome ".$name."!"

或者这样:

echo "Welcome $name!"

这两种方法都适用于我的.后者更短,更简单,但我不确定第一个是更好的格式还是被接受为更合适。PHP v5.3.5


答案 1

在这两种语法之间,您应该真正选择您喜欢的语法:-)

就个人而言,在这种情况下,我会使用您的第二种解决方案(变量插值),我发现它更容易编写和阅读。

结果将是相同的;即使存在性能影响,这些也无关紧要 1.


顺便说一句,所以我的答案更完整一点:有一天你会想做这样的事情:

echo "Welcome $names!";

PHP会解释你的代码,就好像你试图使用变量一样 - 它不存在。- 请注意,它只适用于字符串的“”而不是“”。。$names

那一天,你需要使用:{}

echo "Welcome {$name}s!"

无需回退到串联。


另请注意,您的第一个语法:

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

可以进行优化,避免串联,使用:

echo "Welcome ", $name, "!";

(但是,正如我之前所说,这并不重要...)


1 - 除非您正在执行数十万次串联与插值 - 并且情况可能并非如此。


答案 2

双引号字符串更优雅,因为您不必在每次需要插入变量时都拆分字符串(就像必须对单引号字符串所做的那样)。

但是,如果需要插入函数的返回值,则无法将其插入到双引号字符串中 - 即使您用大括号将其括起来也是如此!

//syntax error!!
//$s = "Hello {trim($world)}!"

//the only option
$s = "Hello " . trim($world) . "!";

推荐