PHP/FB API/GRAPH - 为什么我会收到未定义的偏移错误



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

注意:未定义的偏移量: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]有一个朋友信息。那么为什么会出现错误呢?

列表存储在

$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/

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

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

最新更新