当前位置: 首页 > 知识库问答 >
问题:

PHP:在双引号中使用变量

齐招
2023-03-14

请检查以下代码。

$imagebaseurl = 'support/content_editor/uploads/$name';

$ImageBasurl是一个变量,它包含一个指向我的图像文件夹(上传)的链接,在文件夹中,我有一些其他文件夹,它们以我的用户名命名。例如:我有一个用户的名字是约翰,所以链接应该是这样的-

主要的想法是,当任何用户登录并浏览他的图片库时,我想把他带到他自己的图片库,这个图片库基本上是以他的名字命名的。

当他访问多媒体资料时,链接中的$name值将来自用户的登录名(来自会话)。现在的问题是,您可能已经了解到,$name在上述链接中的位置是错误的,这就是它不起作用的原因。我得到了这个完整的网址

现在,您能告诉我如何使用$name中的$imagebaseurl='support/content\u editor/uploads/$name'


共有2个答案

柳修平
2023-03-14

我完全不同意上一篇文章。

我几乎可以说这是一种坏习惯

$varname = 'EXAMPLE';

$fulltext = "This is an $varname";

从我的经验来看,利用我的一个好朋友,叫做Sprintf(),更容易维护;

define('CONST_NAME', 'This is an example of a better %s');
define('EXAMPLE', sprintf(CONST_NAME, 'practice'));

echo EXAMPLE;

为什么啊?第一个可能看起来更清楚,但第二个更可重复使用。我建议利用spintf在PHP魔术双引号nonesense存在,字面上,没有其他语言。

http://php.net/manual/en/function.sprintf.php

这也是与C#和许多其他语言非常相似的做法。

另见:https://msdn.microsoft.com/en-us/library/system.string.format(v=vs.110).aspx

阎志义
2023-03-14
$imagebaseurl = 'support/content_editor/uploads/' . $name;

$imagebaseurl = "support/content_editor/uploads/{$name}";

注意,如果使用双引号,也可以将上面写成:

$imagebaseurl = "support/content_editor/uploads/$name";

不过,养成在双引号中使用{$...}而不是只使用$...的习惯是好的,因为有时你需要在字符串中插入变量,而PHP不清楚哪一部分是变量和哪个部分是字符串。

如果希望获得最佳性能,请使用带单引号的字符串连接。

 类似资料:
  • 问题内容: 请检查以下代码。 该变量是一个包含指向我的图像文件夹(上载)的链接的变量,并且在该文件夹中,我还有一些其他文件夹,这些文件夹以我的用户名命名。例如:我有一个名为john的用户,因此链接应该看起来像this-> 。 主要思想是,当任何用户登录并浏览其图片库时,我都希望将他带到自己的画廊,该画廊基本上以他的名字命名。 当他访问画廊时,链接中的值将来自用户的登录名(来自会话)。现在的问题是,

  • 我在DotCMS中有多种语言。语言变量可以包含单引号或双引号。我在javascript中通过用引号包装这些变量来访问这些变量。 我怎样才能解决这个问题?

  • 本文向大家介绍PHP中单双号与变量,包括了PHP中单双号与变量的使用技巧和注意事项,需要的朋友参考一下 例子 输出: This is a $string $time morning! This is a beautiful winter morning! 分析: php里, 单引号内的变量不会被执行, 双引号内的变量会被执行, 双引号内单引号里面的变量会被执行, 但是双引号内变量加上反斜杠就可以让

  • 问题内容: 我正在尝试学习编写查询的最佳方法。我也了解保持一致的重要性。到现在为止,我在没有任何实际考虑的情况下随机使用单引号,双引号和反引号。 例: 另外,在上述例子中,考虑到,,等可以是变量。 这是什么标准?你是做什么? 我已经在这里阅读了大约20分钟的类似问题的答案,但是似乎没有确切的答案。 问题答案: 反引号用于表和列标识符,但是仅当标识符是MySQL保留关键字时,或者当标识符包含空格字符

  • 问题内容: 这是需要执行的代码块: 此块用Java代码形成。在执行时,这将引发异常 org.springframework.jdbc.BadSqlGrammarException 。但是当我更改为它时,执行成功。 这是我的问题: 1)为什么在我使用单引号时会引发异常? 2)单引号和双引号“单引号”有什么区别? 3)如果我始终使用双“单引号”,会不会有任何后果? 问题答案: 从Oracle文档中获取

  • 问题内容: 这个问题已经在这里有了答案 : 单引号和双引号一起作为HTML属性值? (2个答案) 6年前关闭。 对于包含HTML的回显中的变量,我应在何处添加斜杠以避开双引号? 例: 这部分: 问题答案: 使用PHP输出HTML的一些技巧: 使用单引号使您不必转义双引号(使用echo时), 使用正确逃生你可能有任何“流氓”的价值观。 使用示例: 或: 或者,在HTML模式下: