访问stdClass对象内的数组元素


Accessing array element inside stdClass object

我正在尝试访问Facebook API响应中的一个元素。响应是一个Facebook图形对象,当输出到屏幕时,如下所示。

// send request
$response = (new FacebookRequest($session, 'GET', '/me/inbox?limit=0'))->execute();
// get Facebook Graph Object
$object = $response->getGraphObject();
echo print_r($object);
//Output from print_r
Facebook'GraphObject Object ( 
    [backingData:protected] => Array ( 
        [data] => Array ( ) [summary] => stdClass Object ( 
             [unseen_count] => 0 [unread_count] => 6 [updated_time] => 2014-11-09T13:41:26+0000 ) 
    ) 
) 

我正试图访问数组中的"unread_count",但没有成功。有人能解释一下它是什么吗?因为它不是典型的数组,而是包含对象。

试试这个:

$object = $response->getGraphObject()->asArray();
echo var_dump($object);

来源:https://developers.facebook.com/docs/php/GraphObject/4.0.0


顺便说一句,请记住,你不会获得read_mailbox批准用于Facebook客户端的平台:

该许可授予在Facebook尚未可用的平台上构建Facebook品牌客户端的应用程序。例如,Android和iOS应用程序将不会被批准获得此权限。此外,Web、桌面和电视应用程序将不会被授予此权限。

来源:https://developers.facebook.com/docs/facebook-login/permissions/v2.2

您可以尝试print_r(get_class_methods($object))。这将返回与该对象关联的所有方法。