我知道我们可以在字符串中使用变量。 例如:
<?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。但是我从未见过谁使用这种方式。 那么当我使用这种语法时有什么问题吗? 感谢您的评论!
答案 0 :(得分:2)
"{$var}"
在PHP的双引号字符串中被称为复杂语法,因为例如,有了它,您就可以访问具有数字和字符串索引的对象上的多维数组值,还可以选择甚至使用单引号来访问索引。示例:
$result = "{$var->val[3]->arr['idx'][3]}";
另一方面, "${var}"
属于简单语法类别,并且(在我看来)主要适用于以下情况:
$result = "${var}s";
出于以下三个原因,我通常不会使用花括号:
"hi $name"
比"hi ${name}"
读但是,决定权取决于您或您的团队。在PHP manual中找到更多相关信息。