当前位置: 首页 > 面试题库 >

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

孙俊彦
2023-03-14
问题内容

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

这条路:

echo "Welcome ".$name."!"

或者这样:

echo "Welcome $name!"

这两种方法都可以在我的电脑上使用PHP v5.3.5。后者更短,更简单,但是我不确定第一种格式是否更好或是否被认为更合适。


问题答案:

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

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

结果将是相同的;即使有性能影响,也没关系1。

作为旁注,所以我的回答更加完整:那天您要做这样的事情:

echo "Welcome $names!";

PHP将解释您的代码,就像您尝试使用该$names变量一样-该变量不存在。-请注意,仅当您在字符串中使用“”而不是”时,它才有效。

那天,您需要使用{}

echo "Welcome {$name}s!"

无需回退到串联。

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

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

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

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

(但是,正如我之前说的,这无关紧要…)

1-除非您要进行成千上万的级联与插值运算-事实并非如此。



 类似资料:
  • 问题内容: 尝试将变量插入回显的字符串中。上面的代码不起作用。如何将php变量迭代到回显字符串中? 问题答案: 单引号不会解析其中的PHP变量。使用双引号或使用点扩展回声。 要么 在您的情况下: 要么

  • JPA中有没有一种方法可以将行直接插入到连接表中?我有以下合同和附件实体: < code >附件实体: 由于线程并发问题,我想直接向合约添加附件,而无需加载合约,将附件添加到列表中并保留/保存合约,因为 Contract 对象本身中没有正在更新的数据。为了更详细一些,我有多个线程并行保存附件,如果我要在所有这些线程中持久化合约,我需要加入某种并发控制以避免乐观锁定异常。鉴于 Contract 实体

  • 问题内容: 我认为这是不可能的,但我想我要是有办法的话。我的想法是,我有一个用于Web资源文件夹路径的变量: 我得到这个结果: 但是,我希望将字符串合并为一个字符串,如下所示: 是否可以在Less中将字符串连接在一起? 问题答案: 使用变量插值 完整代码:

  • 假设我有以下片段: 我希望这段代码能够显示: 这使我认为运算符不适合连接字符串和变量。 您应该如何使用PowerShell来实现这一点?

  • 问题内容: 有没有一种方法可以将字符串直接写入tarfile?从http://docs.python.org/library/tarfile.html看来,只能添加已经写入文件系统的文件。 问题答案: 我想说,通过将StringIO作为文件对象传递给TarInfo e TarFile.addfile是有可能的。 很粗糙,但可以

  • 问题 你想创建一个内嵌变量的字符串,变量被它的值所表示的字符串替换掉。 解决方案 Python并没有对在字符串中简单替换变量值提供直接的支持。 但是通过使用字符串的 format() 方法来解决这个问题。比如: >>> s = '{name} has {n} messages.' >>> s.format(name='Guido', n=37) 'Guido has 37 messages.' >