{} 是什么意思?

php
2022-08-30 22:42:39

我在代码中发现了这一点,它是什么意思,它与普通$dir变量有什么区别?

global ${$dir};

$this->{$dir} = new $class();

答案 1

它被称为复杂的卷曲语法。

任何具有字符串表示形式的标量变量、数组元素或对象属性都可以通过此语法包含在内。只需以与字符串外部显示相同的方式编写表达式,然后将其包装在 { 和 } 中。由于 { 无法转义,因此只有当 $ 紧跟在 {之后时,才会识别此语法。使用 {\$ 获取文本 {$。

更多信息:

http://www.php.net/manual/en/language.types.string.php#language.types.string.parsing.complex


答案 2

它获取变量的值并查找具有该名称的变量。$dir

因此,如果 ,则 与 相同。$dir = 'foo';${$dir}$foo

同样,如果 ,则 与 相同。$dir = 'foo';$this->{$dir}$this->foo

http://www.php.net/manual/en/language.variables.variable.php


推荐