0

サーバー側で使用するスクリプト array_keys からデータを取得する必要があります。

PHP:

$friends = json_decode(file_get_contents(
'https://graph.facebook.com/me/friends?access_token=' .
   $facebook->getAccessToken() ), true);
$friend_ids = array_keys($friends);

配列のデータは上記のようになります。

{
   "data": [
      {
         "name": "Tal Rozner",
         "id": "554089741"
      },
      {
         "name": "Daniel Kagan",
         "id": "559274789"
      },
  {
         "name": "ron cohen",
         "id": "100001553261234"
      }
   ]
}

このすべてのデータを、操作できる配列に取得する必要があります。

どうすればできますか?タンク、

4

2 に答える 2

1

私があなたの質問を正しく理解している場合(そして、私が理解しているかどうかわかりません)、次のようなものが必要になる場合があります

$by_id = array();
foreach ($friends['data'] as $item) {
    $by_id[ $item['id'] ] = $item['name'];
}

これにより、次のような配列が得られます。

print_r ($by_id);

Array
(
    [554089741] => Tal Rozner
    [559274789] => Daniel Kagan
    [100001553261234] => ron cohen
)

どちらが働きやすいでしょうか...

于 2010-09-29T16:31:05.187 に答える
0

「それを使って作業する」とはどういう意味かわかりません。FacebookからのJSON応答が投稿したものである場合は、次のことができるはずです。

foreach ($friends['data'] as $friend) {
    echo "ID: {$friend['id']}" . PHP_EOL;
    echo "ID: {$friend['name']}" . PHP_EOL;
    echo PHP_EOL;
}

これにより、次のようになります。

ID: 554089741
Name: Tal Rozner

ID: 559274789
Name: Daniel Kagan

ID: 100001553261234
Name: ron cohen

を使用しているため、$friendsvarはすでに配列になっていますjson_decode()。この場合array_keys()は必要なく、を生成するだけarray (0, 1, 2)です。

于 2010-09-29T16:29:41.683 に答える