如何在foreach中使用array_keys

时间:2010-09-29 16:20:34

标签: php facebook foreach array-key

我需要从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"
      }
   ]
}

我需要将所有这些数据都添加到一个可以使用它的数组中。

我该怎么办? 罐,

2 个答案:

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

您可能更容易使用...

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

由于您使用了$friendsjson_decode() var已经是一个数组。在这种情况下,不需要array_keys(),只会生成array (0, 1, 2)