2

我试图将多个 JSON 数据打印到 php,但它不起作用。这是代码:

$fql = "SELECT uid, name FROM user WHERE uid in (SELECT uid2 FROM friend where uid1 =     $user)";
$ret_obj = $facebook->api(array(
                           'method' => 'fql.query',
                           'query' => $fql,
                         ));

foreach ($ret_obj as $name) {
  $friend = $name->name;
  echo "Name: " . $friend . "<br />;
}

我想以以下格式显示我的 Facebook 好友列表:

Name: [friend's name]
Name: [friend's name]
Name: [friend's name]

提前致谢。

4

3 回答 3

1

那是一个数组,而不是一个对象,使用这个:

foreach ($ret_obj as $name) {
  $friend = $name['name'];
  echo "Name: " . $friend . "<br />";
}

FQL 查询以数组形式返回结果

于 2012-09-28T13:05:15.753 回答
0

显然 fql 不会返回与主题开启者在主题标题中暗示的内容相矛盾的 json 数据。因此,这个答案是没有实际意义的。

如果它是您从 facebook 获取的 json,则需要对其进行解码才能将结果用作数组。为此使用json_decode。尝试解码数据的var_dump以查看您从 facebook 收到的结构。

$fql = "SELECT uid, name FROM user WHERE uid in (SELECT uid2 FROM friend where uid1 =     $user)";
$ret_obj = $facebook->api(array(
    'method' => 'fql.query',
    'query' => $fql,
));

var_dump(json_decode($ret_obj));
于 2012-09-28T13:04:15.093 回答
0

也许你应该使用json_decode()函数。您还可以定义您想要获取的内容:对象或数组。

于 2012-09-28T13:05:18.187 回答