如何在PHP中打印多个JSON数据?

时间:2012-09-28 13:01:43

标签: php facebook json facebook-fql

我曾尝试将多个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]

提前致谢。

3 个答案:

答案 0 :(得分:1)

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

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

FQL queries return the results in an array

答案 1 :(得分: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));

答案 2 :(得分:0)

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