我正在尝试确定两个 Facebook 用户是否是朋友。我有两个用户的 userId,所以我可以使用以下方法获取其中一个用户的朋友列表:
$friends = $facebook->api('/me/friends');
User 对象的文档说 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"},
...
如果我想在列表中找到一个 userId,如果它是一个“数字”,我可以将 id 转换为一个数字并进行二进制搜索。
但是,一些 userId 非常大,所以我怀疑它们必须是 64 位整数。而且因为我在 32 位 Linux 系统上运行,所以 PHP 不支持 64 位整数。
那么,这是否意味着它是按顺序遍历此列表的最佳方式,还是可能有更有效的方式来查找 userId?