【问题标题】:how to use in foreach for array_keys如何在 foreach 中使用 array_keys
【发布时间】:2010-09-29 16:20:33
【问题描述】:

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

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

我该怎么做? 坦克,

【问题讨论】:

  • 我不明白。根据上面的 JSON 数据,你想要哪些值?
  • 是什么阻止您使用当前形式的数组?您具体要对数组做什么?

标签: php facebook foreach array-key


【解决方案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
)

这对你来说可能更容易使用......

【讨论】:

    【解决方案2】:

    不确定您所说的“使用它”是什么意思。如果来自 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
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-29
      • 1970-01-01
      • 2016-05-17
      相关资源
      最近更新 更多