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 に答える