从像array这样的对象中返回变量

时间:2011-08-04 11:25:48

标签: php

一个相当神秘的标题,但很难说出来。

说我有mysql_fetch_object()的对象。我想使用getter从列中返回一个值。

例如,在课堂上,我们有$this->data。如何使用getter函数中的参数返回说$this->data->id(表中的ID列)

这不起作用,但有些内容如下:

public function data($key)
{
    return $this->data[$key];
}

感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

return $this->data->$key怎么办?

或者如果您实施ArrayAccess,请从offsetGet()函数返回$ this-> data-> $ key,然后您可以使用$ object [$ key]来检索数据

答案 1 :(得分:1)

我认为你要搜索的是variable variables

但使用mysql_fetch_assoc可能更适合您想要做的事情。

答案 2 :(得分:-1)

也许您正在寻找__get方法? http://php.net/manual/en/language.oop5.overloading.php 不太确定你在寻找什么。

等等。

public function __get($name) {
    if (array_key_exists($name, $this->data)) {
        return $this->data[$name];
    }

    return null;
}

现在,您可以$obj->key

访问您的数据