Как перебрать объект Facebook \ GraphUser в стеке переполнения

Я хочу получить общее количество лайков (если есть) для каждого поста в группе в Facebook, но выполнение обычного цикла foreach, похоже, не работает в Facebook \ GraphUser Object, как это происходит.

if($session) {

try {

$user_profile = (new FacebookRequest(
$session, 'GET', '/{group_id}/feed'
))->execute()->getGraphObject(GraphUser::className());foreach ($user_profile as $data) {
echo '<img src="'.$data['picture'].'"><br>';
if($data['likes']){
echo 'total likes for this photo is '.count($data['likes']['data']).'<br>';
}else{
echo 'no likes at the moment.<br>';
}
}

} catch(FacebookRequestException $e) {

echo "Exception occured, code: " . $e->getCode();
echo " with message: " . $e->getMessage();

}

}

Ниже приведен объект GraphUser для справки. Есть идеи, как это зациклить?

Facebook\GraphUser Object
(
[backingData:protected] => Array
(
[data] => Array
(
[0] => stdClass Object
(
[id] => xxxxxxxxx
[from] => stdClass Object
(
[id] => xxxxxxxxx
[name] => xxxxxxxxx
)

[to] => stdClass Object
(
[data] => Array
(
[0] => stdClass Object
(
[name] => xxxxxxxxx
[id] => xxxxxxxxx
)

)

)

[message] => xxxxxxxxx
[picture] => xxxxxxxxx
[link] => xxxxxxxxx
[icon] => xxxxxxxxx
[actions] => Array
(
[0] => stdClass Object
(
[name] => Comment
[link] => xxxxxxxxx
)

[1] => stdClass Object
(
[name] => Like
[link] => xxxxxxxxx
)

)

[privacy] => stdClass Object
(
[value] =>
)

[type] => photo
[object_id] => xxxxxxxxx
[created_time] => xxxxxxxxx
[updated_time] => xxxxxxxxx
[likes] => stdClass Object
(
[data] => Array
(
[0] => stdClass Object
(
[id] => xxxxxxxxx
[name] => xxxxxxxxx
)

[1] => stdClass Object
(
[id] => xxxxxxxxx
[name] => xxxxxxxxx
)

[2] => stdClass Object
(
[id] => xxxxxxxxx
[name] => xxxxxxxxx
)

[3] => stdClass Object
(
[id] => xxxxxxxxx
[name] => xxxxxxxxx
)

)

[paging] => stdClass Object
(
[cursors] => stdClass Object
(
[after] => xxxxxxxxx
[before] => xxxxxxxxx=
)

)

)

)

1

Решение

После дальнейших раскопок я наконец-то получил действенный ответ на свой вопрос 😉

$x = $user_profile->getProperty('data');
$y = $x->asArray();
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector