php语句括在括号中

时间:2015-02-18 13:48:15

标签: php

简单问题:
我一直在探索开源代码并看到以下声明:

$this->{$worker}

围绕括号的含义是什么,以及它与之间的区别是什么:

$this->worker

3 个答案:

答案 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)

第一个例子是使用变量作为属性名称。第二个示例是为类的属性使用非变量名称。