访问PHP对象数组

Need some quick advice I am trying to access a object array but I am struggling, please see the below array. It starts off an object I would normally user $result->_messages->token but it doesnt work I have trawled google and this site but cant access the token.

object(Zend_Auth_Result)#76 (3) {
["_code":protected] => int(1)
["_identity":protected] => string(9) "3232323233"
["_messages":protected] => array(2) {
    ["user"] => object(stdClass)#71 (13) {
      ["id"] => string(9) "232323332"
      ["name"] => string(14) "John Smith"
      ["first_name"] => string(5) "John"
      ["last_name"] => string(8) "Smith"
      ["link"] => string(41) "http://www.facebook.com/"
      ["username"] => string(17) "john.smith"
      ["location"] => object(stdClass)#68 (2) {
        ["id"] => string(0) ""
        ["name"] => NULL
      }     
      ["email"] => string(22) "john@doe.com"
      ["timezone"] => int(1)
      ["locale"] => string(5) "en_US"
      ["verified"] => bool(true)
      ["updated_time"] => string(24) "2012-06-21T13:57:12+0000" 
    }
    ["token"] => string(109) "AAAGIFdDivU4BAMoxyHT3bqY8eBGhnWo9YKM1szHZAnWgY10AIBgxz9LeNCeA2HV9Yhkp8uM5Aq0WR39ZBdcnOa4MxXVI22rnmFKNbYdQZDZD"
    }
}

Any advice any body?

Cheers

J

From the ZF Reference Guide on Naming Conventions:

For instance variables that are declared with the "private" or "protected" modifier, the first character of the variable name must be a single underscore. This is the only acceptable application of an underscore in a variable name. Member variables declared "public" should never start with an underscore.

So you cannot access _messages directly from outside the Zend_Auth_Result instance, because it is protected. You have to use the getter for that property.

See the API Docs for Zend_Auth_Result

$messages = $zendAuthResult->getMessages();
$token = $messages['token'];

_messages is protected so it's impossible to call upon that variable from outside this (or extended) class, check whether a method exists for the class to get the variable in the array