我知道如何通过
检查身份证是男性还是女性<?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
答案 0 :(得分:3)
我知道你说没有FQL,但万一你无法获得非FQL答案:
SELECT sex, uid
FROM user
WHERE uid IN (
SELECT uid2
FROM friend
WHERE uid1 = me()
)
AND sex = 'female'
LIMIT 10
答案 1 :(得分:2)
那么你的问题不是很清楚你在尝试获取用户ID的位置。 我假设您要分离朋友的ids 。 首先检索朋友列表:
$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'];
}
在循环结束时,您将在各自的数组中包含所有男性和女性。
答案 2 :(得分:0)
我开发了一个简单/干净的代码来解决你所暴露的内容,只需要一个请求。
// Array Friends $female_friends = array(); $male_friends = array(); // Make request $friends = $facebook->api('/me/friends?fields=id,gender'); // Loop foreach ($friends['data'] as $friend) { if ($friend['gender'] =='female') female_friends.push($friend['id']); else ($friend['gender'] =='male') male_friends.push($friend['id']); } // Show data print_r($female_friends); print_r($male_friends);