{} 是什么意思?
2022-08-30 22:42:39
我在代码中发现了这一点,它是什么意思,它与普通$dir变量有什么区别?
global ${$dir};
$this->{$dir} = new $class();
我在代码中发现了这一点,它是什么意思,它与普通$dir变量有什么区别?
global ${$dir};
$this->{$dir} = new $class();
它被称为复杂的卷曲语法。
任何具有字符串表示形式的标量变量、数组元素或对象属性都可以通过此语法包含在内。只需以与字符串外部显示相同的方式编写表达式,然后将其包装在 { 和 } 中。由于 { 无法转义,因此只有当 $ 紧跟在 {之后时,才会识别此语法。使用 {\$ 获取文本 {$。
更多信息:
http://www.php.net/manual/en/language.types.string.php#language.types.string.parsing.complex
它获取变量的值并查找具有该名称的变量。$dir
因此,如果 ,则 与 相同。$dir = 'foo';
${$dir}
$foo
同样,如果 ,则 与 相同。$dir = 'foo';
$this->{$dir}
$this->foo
http://www.php.net/manual/en/language.variables.variable.php