Php 使用函数从对象中的数组获取数据

Php 使用函数从对象中的数组获取数据,php,arrays,object,Php,Arrays,Object,我有一个函数,它返回对象中变量的值,如下所示: public function getVar($var) { return ($this->$var); } 它工作得很好,但是我找不到一种方法来获取存储在变量中的数组的值。我认为这样做会奏效: $object->getVar("variable['value']"); 但事实并非如此。。。。如何才能做到这一点?此语法不适用于数组。改用这个: public function getVar($var, $index = nu

我有一个函数,它返回对象中变量的值,如下所示:

public function getVar($var)
{
    return ($this->$var);
} 
它工作得很好,但是我找不到一种方法来获取存储在变量中的数组的值。我认为这样做会奏效:

$object->getVar("variable['value']");

但事实并非如此。。。。如何才能做到这一点?

此语法不适用于数组。改用这个:

public function getVar($var, $index = null)
{
    if (null === $index)
        return $this->$var;

    $var = $this->$var;
    return $var[$index];
}
用法:

$yourClass = new YourClass();

$yourClass->array = array('a' => 'b');
$yourClass->someVar = 'c';

echo $yourClass->getVar('array', 'a'); // output: b
echo $yourClass->getVar('someVar'); // output: c

是的,太好了!非常感谢:)