0

我不明白为什么会出现此错误:

注意:未定义的偏移量: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) 你可以看到我有朋友数组,并且 data[0] 有一个朋友信息。那么为什么会出错呢?

4

2 回答 2

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/

于 2012-05-13T17:45:25.637 回答
0

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

 foreach ($friends_data as $friends) {
    echo $friends['name'] . ", ";
  } 
于 2012-05-13T17:46:09.360 回答