PHP:在双引号内使用变量

bla*_*elt 21 php

请检查以下代码.

$imagebaseurl = 'support/content_editor/uploads/$name';
Run Code Online (Sandbox Code Playgroud)

$imagebaseurl是一个变量,包含指向我的图像文件夹(上传)的链接,在文件夹中我有一些其他文件夹,这些文件夹以我的用户名命名.例如:我有一个名为john的用户,因此该链接应该如下所示 - > support/content_editor/uploads/john.

主要的想法是当任何用户登录并浏览他的图像库我想把他带到他自己的画廊,其基本上以他的名字命名.

当他访问图库$name时,链接中的值将来自用户的登录名(来自会话).现在问题是因为您可能已经理解$name上述链接中的位置是错误的,这就是它无法正常工作的原因.我得到这整个网址>(support/content_editor/uploads/$ name)而不是(support/content_editor/uploads/john)

现在,请你告诉我如何使用$name这个$imagebaseurl = 'support/content_editor/uploads/$name';

rid*_*rid 44

$imagebaseurl = 'support/content_editor/uploads/' . $name;
Run Code Online (Sandbox Code Playgroud)

要么

$imagebaseurl = "support/content_editor/uploads/{$name}";
Run Code Online (Sandbox Code Playgroud)

请注意,如果您使用双引号,您还可以将上面的内容写为:

$imagebaseurl = "support/content_editor/uploads/$name";
Run Code Online (Sandbox Code Playgroud)

虽然养成使用{$...}双引号而不是仅使用双引号的习惯,但是在$...需要将变量插入到字符串中的时候,PHP不明显哪个部分是变量,哪个部分是字符串.

如果您想获得最佳性能,请将字符串连接与单引号一起使用.

  • 只是一个旁注:建议不要在其中使用包含变量的双引号.这对于代码可读性和调试来说太可怕了,如果使用单引号,PHP也会稍微快一点(就像Radu的第一个例子一样). (2认同)
  • 请注意,您可以在双引号内使用单引号并仍然解析变量`<?php $ test ='test'; echo"这是一个'$ test'.";`. (2认同)