在PHP中在Facebook好友列表中查找用户ID的有效方法

在PHP中在Facebook好友列表中查找用户ID的有效方法,php,facebook,facebook-graph-api,Php,Facebook,Facebook Graph Api,我想确定两个Facebook用户是否是朋友。我拥有两个用户的userId,因此我可以使用以下方法获取其中一个用户的好友列表: $friends = $facebook->api('/me/friends'); 用户对象的文档说明id是一个“字符串”。问题是,当返回好友列表时,它不是按字符串排序的,而是按数字排序的。例如,我看到: {"name":"AAAAA","id":"200000"}, {"name":"XXX YYY","id":"700000"}, {"name":"BB

我想确定两个Facebook用户是否是朋友。我拥有两个用户的userId,因此我可以使用以下方法获取其中一个用户的好友列表:

   $friends = $facebook->api('/me/friends');
用户对象的文档说明id是一个“字符串”。问题是,当返回好友列表时,它不是按字符串排序的,而是按数字排序的。例如,我看到:

{"name":"AAAAA","id":"200000"},
{"name":"XXX YYY","id":"700000"},
{"name":"BBBB EEEE","id":"1200000"},
{"name":"OOOO GGGGG","id":"1200001"},
{"name":"PPPPP EEEEEE","id":"130000"},
{"name":"CCCCC CCCCCC","id":"100002999999999"},
...
如果我想在列表中找到一个用户id,如果它是一个“数字”,我可以将该id转换成一个数字并进行二进制搜索

但是,有些用户ID非常大,所以我怀疑它们一定是64位整数。因为我在32位Linux系统上运行,PHP不支持64位整数


那么,这是否意味着最好的方法就是按顺序遍历此列表,或者是否有更有效的方法来查找用户ID?

您应该尝试使用FQL。它似乎可以满足您的需求:

SELECT uid1, uid2 FROM friend WHERE uid1 = me() AND uid2 = ...

如果你得到一个结果,你知道这两个用户是朋友