我是Laravel的新手,我有这个问题。
我尝试了这行代码,它工作正常:return redirect("/cards/{$note->id}");
但是,当我尝试使用单引号时,它不起作用:return redirect('/cards/{$note->id}');
我该如何解决这个问题?
答案 0 :(得分:3)
您首先要做的是称为变量插值或字符串插值。您可以详细了解here, on PHP docs和here, on Wiki。
它是PHP中的一项功能,允许您传递字符串并在变量/占位符内部进行解释。
在您的第二个示例中,您使用的是单引号,但不提供此功能,因此您必须将其分解并手动将变量添加到字符串中:
return redirect('/cards/' . $note->id);
如果您对更详细的解释及其背后的表现感兴趣,那么您可以在this answer here上通过Blizz了解更多信息
他的结论是:
每个参加测试的人都认为使用单引号会略微提高性能。最后,单引号只会产生连接,而双引号会强制解释器解析变量的完整字符串。
然而,对于PHP的最新版本而言,这样做的额外负担是如此之小,以至于大多数时候结论是它并不重要。
答案 1 :(得分:2)
您应该使用product
或"/cards/{$note->id}"
双引号字符串最重要的特性是变量名称将被扩展。
当用双引号或heredoc指定字符串时,会在其中解析变量。
答案 2 :(得分:0)
使用它:
return redirect('/cards/'. $note->id);
使用单引号或双引号