PHP语法问题

时间:2010-02-04 05:27:59

标签: php zend-framework

由于某种原因,我在如何在对象中访问此信息时绘制了一个空白(这是一个Zend_Db_Table_Row,但我认为这不是重点)。这是print_r,我想得到分配给[_data:protected]的数组

MyClassName Object
(
[_data:protected] => Array
    (
        [param1] => 1
        [param2] => Some info
        [param3] => ....
    )

... lots more unneeded info such as 'cleandata' and table schema information

我知道我可以使用$ instance-> param1等访问所有数据,但是我将它分配给会话并希望能够说出

$sessionNamespace = $instance->data;

...至于不存储表模式信息,而不必遍历数组并手动分配。感谢。

2 个答案:

答案 0 :(得分:5)

Zend_Db_Table_Row::toArray()怎么办?

答案 1 :(得分:1)

因为它有:protected,表示它已被声明为protected,因此您无法访问它。实际的类或从它派生的类(extends它)必须​​通过函数调用将它传递给你。

您可能需要检查API以获取返回所有数据的getData()类型方法,或者serialize()如果对象支持序列化。

编辑:还有一个:正如Zerkms建议的那样,您可以使用toArray()来访问它。