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

Sort Facebook friends alphabetically PHP SDK v5

我有一个关于从图表 API 回显 Facebook returns 的数据的问题。我使用以下代码获取使用我的应用程序的 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."
          }
        }
      }

我找到了解决方案。

需要从 facebook API 获取响应作为数组。我猜是新手错误。

希望对某人有所帮助:

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


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

usort($graphEdge, 'sortByOrder');