【发布时间】:2015-04-19 13:11:16
【问题描述】:
简单的问题:
一直在探索开源代码,看到如下说法:
$this->{$worker}
用括号括起来是什么意思,this和有什么区别:
$this->worker
【问题讨论】:
-
$worker = 'somevar';所以$this->{$worker} == $this->somevar
标签: php
简单的问题:
一直在探索开源代码,看到如下说法:
$this->{$worker}
用括号括起来是什么意思,this和有什么区别:
$this->worker
【问题讨论】:
$worker = 'somevar'; 所以$this->{$worker} == $this->somevar
标签: php
花括号用于 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
}
}
【讨论】:
第一个实际使用变量$worker的值,而后者使用表达式/字worker定位对象属性。
【讨论】:
第一个例子是使用一个变量作为属性名。第二个示例是为类的属性使用非变量名称。
【讨论】: