字符串中的变量

你有

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

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

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

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

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

史蒂芬

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

$result = "{$var->val[3]->arr['idx'][3]}";

"${var}" 另一方面将属于简单语法的类别,并且(在我看来)主要用于这样的情况:

$result = "${var}s";

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

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

但决定取决于您或您的团队。PHP 手册中找到更多关于它的信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章