按字母顺序排列Facebook好友PHP SDK v5

时间:2015-08-04 16:04:21

标签: facebook facebook-graph-api alphabetical facebook-friends

我有一个关于回应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."
          }
        }
      }

1 个答案:

答案 0 :(得分:2)

我找到了解决方案。

需要从facebook API获取响应作为数组。我想是菜鸟的错误。

希望它有所帮助:

$graphEdge = $response->getGraphEdge()->asArray();


function sortByOrder($a, $b) {
    return $a['name'] - $b['name']; }

usort($graphEdge, 'sortByOrder');