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

时间:2013-07-16 20:26:39

标签: php arrays object

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

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

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

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

但它没有......我怎么能这样做?

1 个答案:

答案 0 :(得分: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