如何使用类变量引用对象?

时间:2011-08-09 22:43:52

标签: php class

我无法找到我的问题的答案,我认为有些事情我很想念。

我试图用类中的变量引用对象中的值。在这种情况下,我想要底部的行:

echo $b->ref->$a->type

输出'testing',如下所示:

echo $b->ref->test; // outputs 'testing'
$c = $a->type;
echo $b->ref->$c; // outputs 'testing'

完整代码:

    <?php

class A {

    public $type;

    public function set_type($type) {
        $this->type = $type;
    }
}

class B {
    public $ref;

    public function set_reference($ref) {
        $this->ref = $ref;
    }

}

$a = new A();
$b = new B();
$b->set_reference( (object) array('test' => 'testing', 'test2' => 'testing2') );

$a->set_type('test');

echo $b->ref->test; // outputs 'testing'
echo '<br />';
echo $a->type; // outputs 'test'
echo '<br />';

$c = $a->type;

echo $b->ref->$c; // outputs 'testing'
echo '<br />';

echo $b->ref->$a->type; // error

我能错过什么才能做到这一点?或者,这不可能吗?

2 个答案:

答案 0 :(得分:2)

一如既往。

echo $b->ref->{$a->type};

答案 1 :(得分:0)

你试过这个:

echo $b->ref->{$c};