-1

我有一个关于回显 Facebook 从 Graph API 返回的数据的问题。我使用以下代码获取使用我的应用程序和他们的个人资料图片(以及 ID,因为稍后我需要将它们与我的数据库匹配)的 facebook 朋友:

$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."
          }
        }
      }
4

1 回答 1

2

我找到了解决方案。

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

希望它可以帮助某人:

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


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

usort($graphEdge, 'sortByOrder');
于 2015-08-11T17:26:44.040 回答