Получение значений stdObject в php
Я использую API для получения некоторых значений. Когда я печатаю свою переменную, возвращающую массив из API, он возвращает stdObject Class
Вот как я запрашиваю данные:
$graphObject = (new FacebookRequest( $session, 'GET', '/me?fields=id,first_name,last_name,tagged_places' ))->execute()->getGraphObject()->asArray();
Вот как я это печатаю:
echo '<pre>' . print_r( $graphObject, 1 ) . '</pre>';
Вот что он возвращает:
Array
(
[id] => 111111
[first_name] => Bob
[last_name] => Stevensen
[tagged_places] => stdClass Object
(
[data] => Array
(
[0] => stdClass Object
(
[id] => 111111
[created_time] => 1905-01-01T08:00:00+0000
[place] => stdClass Object
(
[id] => 1111111
[location] => stdClass Object
(
[latitude] => 36.1313
[longitude] => -95.9373
)
[name] => Tulsa, Oklahoma
)
)
[1] => stdClass Object
(
[id] => 11111
[created_time] => 2014-05-30T21:41:11+0000
[place] => stdClass Object
(
[id] => 111111
[location] => stdClass Object
(
[city] => Okmulgee
[country] => United States
[latitude] => 35.623012460758
[longitude] => -95.972782756346
[state] => OK
[street] => 104 S Morton Ave
[zip] => 74447-5022
)
[name] => Ike's Downtown Pub & Eatery
)
)
Я нашел несколько примеров этого, заявив, что способ получить значение из этого объекта класса будет выглядеть так,
echo $graphObject->{'$STDCLASS'}->{'$FIELD I'M TRYING TO GET'};
Я обмениваю эти значения, пытаясь выяснить, каково имя объекта, но я получаю эту ошибку:
Notice: Trying to get property of non-object in /file/path
Как правильно получить значения из этого stdClass Object
Я думаю, может быть, я просто не понимаю название Object
Можно ли сказать по коду, который я разместил здесь?
1 ответ
Объект содержит массив Data, к которому вы можете получить доступ:
foreach ($graphObject->data as $data) {
echo $data->id
}
Это берет объект и должен сделать его напрямую доступным
хотя, если подумать.. вам также может понадобиться попробовать echo $data['id']; как его не объект больше..
Если это работает.. попробуйте:
$info = json_decode($graphObject,true);
и посмотрим, сможете ли вы работать с переменной $info проще.