我有一个关于回应Facebook从Graph API返回的数据的问题。我使用以下代码来获取Facebook朋友使用我的应用程序及其个人资料图片(以及ID,因为稍后我需要将它们与我的数据库匹配:
$response = $fb->get('/me/friends?fields=picture{url},id,name');
// Get the base class GraphNode from the response
$graphEdge = $response->getGraphEdge();
foreach($graphEdge as $item):
如何订购回复,以便我的朋友按字母顺序排序。我已经尝试了很多,但似乎无法弄明白。
我举例说明了以下代码:
usort($graphEdge, function($a, $b) {
return $a['name'] - $b['name'];
});
但我想我可能会错误地调用数组($ graphEdge)
来自facebook的数组示例如下:
[0]=>
array(3) {
["id"]=>
string(17) "12345678901112131"
["name"]=>
string(13) "John DOe"
["picture"]=>
array(1) {
["data"]=>
array(1) {
["url"]=>
string(222) "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xfp1/v/t1.0-1/p50x50/etc."
}
}
}
答案 0 :(得分:2)
我找到了解决方案。
需要从facebook API获取响应作为数组。我想是菜鸟的错误。
希望它有所帮助:
$graphEdge = $response->getGraphEdge()->asArray();
function sortByOrder($a, $b) {
return $a['name'] - $b['name']; }
usort($graphEdge, 'sortByOrder');