我想知道,如何精确定义大括号的语义
在 PHP里面?例如,假设我们已定义:
在 PHP里面?例如,假设我们已定义:
$a = "foo";
然后有什么区别:
echo "${a}"; echo "{$a}";
也就是说,是否有任何情况下放置
在大括号外的美元符号而不是在大括号内
差异或结果始终相同(使用大括号
几乎任何事情都可以分组?
大括号有很多可能性(例如省略它们),在处理对象或数组时事情变得更加复杂.
我更喜欢插值到连接,我更喜欢在没有必要时省略括号.有时,他们是.
您不能使用带有${}语法的对象运算符.调用方法或链接运算符时必须使用{$…}(如果只有一个运算符,例如获取成员,则可省略大括号).
${}语法可用于变量变量:
$y = 'x'; $x = 'hello'; echo "${$y}"; //hello
$$语法不会在字符串中进行插值,因此插值需要${}.您还可以使用字符串(${‘y’})甚至在${}块内连接.但是,变量变量可能被认为是一件坏事.
对于数组,要么${foo [‘bar’]}与{$foo [‘bar’]}一起工作.我更喜欢$foo [bar](仅用于插值 – 在字符串栏之外将被视为该上下文中的常量).