简单问题:
我一直在探索开源代码并看到以下声明:
$this->{$worker}
围绕括号的含义是什么,以及它与之间的区别是什么:
$this->worker
答案 0 :(得分:2)
在PHP中,大括号用于字符串或变量插值。
像
这样的东西$worker = 'foo';
$this->{$worker} = 'bar';
这意味着
$this->foo = 'bar';
class RandomName
{
protected $foo;
protected $bar;
protected $foo_bar;
$properties_array = array('foo', 'bar', 'foo_bar');
if (in_array($property, $properties_array)) {
$this->{$property} = //some value
}
}
答案 1 :(得分:1)
第一个实际使用变量$worker
的值,而后者使用表达式/单词worker
来定位对象属性。
答案 2 :(得分:0)
第一个例子是使用变量作为属性名称。第二个示例是为类的属性使用非变量名称。