PHP / FB API / GRAPH - 为什么我得到一个未定义的偏移错误?

时间:2012-05-13 17:28:08

标签: php facebook facebook-graph-api

我不明白为什么会收到此错误:

  

注意:未定义的偏移量:0

我试图通过FB Graph API获取用户朋友列表:

// get users friends
        $friends_url = "https://graph.facebook.com/".$user_id."/friends?access_token=".$access_token;
        $friends_json = file_get_contents($friends_url);
        $friends_data = json_decode($friends_json, true);       

        for ($i = 0; $i < sizeof($friends_data); $i++) {
        $friends = $friends_data[$i];
        echo $friends['name'] . ", ";
        }         

如果你var_dump($ friends_data)或print_r($ friends_data)你可以看到我有朋友的数组,而且数据[0]有朋友信息。那么为什么会出错?

2 个答案:

答案 0 :(得分:1)

列表存储在

$friends_data['data'][$i] 

不是

$friends_data[$i]

你应该做

$friends_data = json_decode($friends_json, true)['data'];   

for ($i = 0; $i < sizeof($friends_data); $i++) {
    $friends = $friends_data[$i];
    echo $friends['name'] . ", ";
}

示例数据位于:https://developers.facebook.com/docs/reference/api/

答案 1 :(得分:0)

我可能$friends_data没有数字索引。 您的解决方案是使用foreach

 foreach ($friends_data as $friends) {
    echo $friends['name'] . ", ";
  }