2

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

public function getVar($var)
{
    return ($this->$var);
} 

它工作正常,但我找不到一种方法来获取存储在变量中的数组的值。我认为这样的事情会起作用:

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

但它没有....我该怎么做?

4

1 回答 1

1

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

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
于 2013-07-16T20:29:59.317 回答