0

fql のユーザー テーブルを使用しています。配列を json_encode() に渡しています。Facebook json 形式が正しくありません。[] を除外しています。これをコードに追加するにはどうすればよいですか。

以下のコードは例ですが、私はそのコードを理解していません。

ユーザーテーブルhttps://developers.facebook.com/docs/reference/fql/user

名前、uidが欲しいです。

//to get album cover
    $fql2    =   "select  src from photo where pid = '" . $values['cover_pid'] . "'";
    $param2  =   array(
     'method'    => 'fql.query',
     'query'     => $fql2,
     'callback'  => ''
    );

    $fqlResult2   =   $facebook->api($param2);
    $jsarr  =   array();
    foreach( $fqlResult2 as $keys2 => $values2){
    }
    if ($values['name'] != 'Profile Pictures'){
        $jsarr['src'] = $album['src'];

            $count += 1;

    if ($count == 1){
    $outputStr .= "[";}
    else {
    $outputStr .= ",";}
    $outputStr .= json_encode($values2);
    }
}
$outputStr .= "]";
$outputStr = str_replace("{","[",$outputStr);
$outputStr = str_replace("}","]",$outputStr);
echo $outputStr;
}
?>
4

1 に答える 1

1

Facebook PHP SDK を使用すると、返された json オブジェクトが PHP 配列に自動的にデコードされます。そこからjsonオブジェクトが必要な場合は、json_encode処理が完了した後に使用する必要があります。

PHP コードに大きな問題がいくつかあります。始めるために:

  • ループが次の行foreachで始まるとすぐに終了します。}
  • 変数$valuesとをどこで定義します$albumか?
  • ループ$values2の外側を参照しています。foreach
  • 行の初期化されていない変数に追加しています$outputStr .= "[";
  • json_encode()データの適切な php 配列を渡すと、完全な json オブジェクトが作成されます。いかなる種類の括弧も追加する必要はありません。
于 2013-03-22T13:02:27.400 に答える