从Zend_Db_Table_Row对象数组中获取值

时间:2012-06-26 07:04:14

标签: 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
        )
 )

我需要获取user_id,firstname,来自此数组的电子邮件

任何帮助将不胜感激。

我试过像

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

$ id = $ forgotpassword ['_ data:protected'] ['id'];出口; //但似乎无法正常工作

1 个答案:

答案 0 :(得分:6)

您无法直接访问_data。这是protected

来自ZF Reference Guide on Naming Conventions

  

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

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

echo $forgotpassword->user_id;

或(由于ArrayAccess

echo $forgotpassword['user_id'];

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

$array = $forgotpassword->toArray();
echo $array['user_id'];

请参阅参考指南和代码