字符串中的变量

时间:2018-10-26 05:26:45

标签: php string variables

我知道我们可以在字符串中使用变量。 例如:

<?php
    $name = "pink panther";
    $message = "Hello, Im $name"; // 1
    $other_message = "Hello, Im {$name}"; // 2
?>

$ message和$ other_message都可以。很常见 但是,我看到此问题的另一种语法。

$third_way = "Hello, Im ${name}"; // 3

第三种方式仍然可以(使用php版本7)。我喜欢这种语法,因为它就像javascript template。但是我从未见过谁使用这种方式。 那么当我使用这种语法时有什么问题吗? 感谢您的评论!

1 个答案:

答案 0 :(得分:2)

"{$var}"在PHP的双引号字符串中被称为复杂语法,因为例如,有了它,您就可以访问具有数字和字符串索引的对象上的多维数组值,还可以选择甚至使用单引号来访问索引。示例:

$result = "{$var->val[3]->arr['idx'][3]}";
另一方面,

"${var}"属于简单语法类别,并且(在我看来)主要适用于以下情况:

$result = "${var}s";

出于以下三个原因,我通常不会使用花括号:

  • 我发现"hi $name""hi ${name}"
  • 它们不太常见
  • 它们不是必需的,所以当我阅读该代码时,我会问自己几毫秒:“他为什么放大括号?”

但是,决定权取决于您或您的团队。在PHP manual中找到更多相关信息。