我不明白为什么会出现此错误:
注意:未定义的偏移量: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'] . ", ";
}