将变量放在PHP字符串中

时间:2016-09-27 11:26:06

标签: php

我是Laravel的新手,我有这个问题。 我尝试了这行代码,它工作正常:return redirect("/cards/{$note->id}");

但是,当我尝试使用单引号时,它不起作用:return redirect('/cards/{$note->id}');

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:3)

您首先要做的是称为变量插值或字符串插值。您可以详细了解here, on PHP docshere, on Wiki

它是PHP中的一项功能,允许您传递字符串并在变量/占位符内部进行解释。

在您的第二个示例中,您使用的是单引号,但不提供此功能,因此您必须将其分解并手动将变量添加到字符串中:

return redirect('/cards/' . $note->id);

如果您对更详细的解释及其背后的表现感兴趣,那么您可以在this answer here上通过Blizz了解更多信息

他的结论是:

  

每个参加测试的人都认为使用单引号会略微提高性能。最后,单引号只会产生连接,而双引号会强制解释器解析变量的完整字符串。

     

然而,对于PHP的最新版本而言,这样做的额外负担是如此之小,以至于大多数时候结论是它并不重要。

答案 1 :(得分:2)

您应该使用product"/cards/{$note->id}"

  

双引号字符串最重要的特性是变量名称将被扩展。

     

当用双引号或heredoc指定字符串时,会在其中解析变量。

来自PHP documentation

答案 2 :(得分:0)

使用它:

return redirect('/cards/'. $note->id);

使用单引号或双引号