我知道如何通过以下方式检查id是男性还是女性
<?php
//get the user gender
$user_id = $facebook->getUser();
$user_profile = $facebook->api('/me','GET');
$user_gender = $user_profile['gender'];
echo "Gender: " . $user_gender;
?>
但我需要获得任何 10 个女性身份证或 10 个男性身份证..(不混合)。请问有什么想法吗?
PS:请不要FQL
我知道你说没有FQL,但以防万一你无法得到非FQL的答案:
SELECT sex, uid
FROM user
WHERE uid IN (
SELECT uid2
FROM friend
WHERE uid1 = me()
)
AND sex = 'female'
LIMIT 10
好吧,
您的问题不太清楚您从哪里尝试获取用户 ID。我假设你想分开你朋友的ID。首次检索好友列表:
$f=$facebook->api('/me/friends',array('access_token'=>$accessToken));
然后定义两个数组:male=new array();
和 female=new array();
。循环检查每个朋友的性别:
foreach($f as $t){
$usr=$facebook-api("/$t['id']");
if($usr['gender']=='male')
$male[]=$usr['id'];
else
$female[]=$usr['id'];
}
在循环结束时,您将在各自的数组中拥有所有男性和女性。
我开发了一个简单/干净的代码来解决您公开的内容,只需一个请求。
- 创建数组(公、母)
- 请求获取 id 和性别(?字段=id,性别)
- 循环数据和条件(男性、女性)
阵列好友 $female_friends = array(); $male_friends = array(); 提出请求 $friends = $facebook->api('/me/friends?fields=id,gender'); 圈 foreach ($friends['data'] as $friend) { if ($friend['gender'] =='female') female_friends.push($friend['id']); else ($friend['gender'] =='male') male_friends.push($friend['id']); } 显示数据 print_r($female_朋友); print_r($male_朋友);