从Zend_Db_Table_Row对象数组中获取值

Rin*_*ler 2 php arrays zend-framework zend-db

我正在使用一个zend模型,它以$ row的形式返回一个包含所有值的对象

但我无法从这个阵列中获得价值.这是有可能获得没有foreach的价值观

这是返回的数组

     Zend_Db_Table_Row Object
   (
    [_data:protected] => Array
        (
            [user_id] => 2
            [udid] => 34
            [firstname] => a
            [lastname] => a
            [email] => jusic.sl@gmail.com
            [username] => abc
            [password] => c91718531fd9f8b89c4e
            [created_date] => 2010-02-11
            [updated_datetime] => 2012-06-25 12:48:17
            [lastlogin_datetime] => 
            [group_id] => 2
            [status] => Active
        )
 )
Run Code Online (Sandbox Code Playgroud)

我需要从这个数组中获取user_id,firstname和email

任何帮助将不胜感激 .

我试过像

$ forgotpassword = $ userModel-> forgotpassword($ post); //包含这个数组

$ id = $ forgotpassword ['_ data:protected'] ['id']; 出口; //但似乎没有用

Gor*_*don 6

您无法_data直接访问.它受到保护.

来自ZF命名约定参考指南:

[...]使用"private"或"protected"修饰符声明的变量,变量名称的第一个字符必须是单个下划线.

你可以这样做(由于__get/ __set)

echo $forgotpassword->user_id;
Run Code Online (Sandbox Code Playgroud)

或(由于ArrayAccess)

echo $forgotpassword['user_id'];
Run Code Online (Sandbox Code Playgroud)

或者(如果你想要一个数组)

$array = $forgotpassword->toArray();
echo $array['user_id'];
Run Code Online (Sandbox Code Playgroud)

请参阅参考指南和代码