Fql возвращает массив .. но мне нужен объект - PullRequest
1 голос
/ 01 апреля 2011

Я использую этот код для получения списка друзей.

    $params = array(
    'method' => 'fql.query',
    'query' => "SELECT uid FROM user WHERE uid = me()
    OR uid IN (SELECT uid2 FROM friend WHERE uid1 = me())",
);

$result = $facebook->api($params);

теперь я отображаю изображение пользователя как

 echo "<img src='http://graph.facebook.com/".$result[0]."/picture'>"; 

но он все еще возвращает результат в виде массива, подобного этому: http://graph.facebook.com/array/picture Мне нужен UID в том месте, где он показывает массив. Помогите, пожалуйста. это действительно важно

print_r ($result[0]); дает следующий вывод ----

 Array ( [uid] => XXXXXXXX )

1 Ответ

2 голосов
/ 01 апреля 2011

Это двумерный массив, нет необходимости преобразовывать его в объект, к которому вы можете получить доступ

Для доступа к UID вы должны сделать что-то вроде этого

echo $result[0]['uid'];

Следовательно, ваш код станет

echo "<img src='http://graph.facebook.com/".$result[0]['uid']."/picture'>"; 

Если вам все еще нужен объект вместо массива, вы можете выполнить приведение типа.

$result_obj= (object) $result[0];
echo $result_obj->uid;
...