gpt4 book ai didi

PHP 解析器 : braces around variables

转载 作者:可可西里 更新时间:2023-11-01 13:11:24 25 4
gpt4 key购买 nike

我想知道,大括号的语义是如何精确定义的在 PHP 里面?例如,假设我们定义了:

$a = "foo";

那么它们之间有什么区别:

echo "${a}";

echo "{$a}";

也就是说,在任何情况下大括号外的美元符号与大括号内的美元符号相反差异还是结果始终相同(使用大括号对任何东西进行分组)?

最佳答案

大括号有很多可能性(例如省略它们),在处理对象或数组时,事情会变得更加复杂。

我更喜欢插值而不是连接,而且我更喜欢在不需要时省略大括号。有时,他们是。

您不能使用具有 ${} 语法的对象运算符。调用方法或链接运算符时必须使用 {$...}(如果您只有一个运算符,例如获取成员,则大括号可以省略)。

${} 语法可用于可变变量:

$y = 'x';
$x = 'hello';
echo "${$y}"; //hello

$$ 语法不会插入字符串,因此 ${} 是插入所必需的。您还可以使用字符串 (${'y'}),甚至可以在 ${} block 中进行连接。然而,可变变量可能被认为是一件坏事。

对于数组,${foo['bar']}{$foo['bar']} 都可以。我更喜欢 $foo[bar](仅用于插值——字符串之外的 bar 将在该上下文中被视为常量)。

关于PHP 解析器 : braces around variables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11422661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com