0

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人の女性IDまたは10人の男性IDを取得する必要があります..(混合ではありません).何かアイデアをください?

ps: fql は必要ありません。

4

3 に答える 3

3

FQL がないと言ったことは知っていますが、FQL 以外の回答を得ることができない場合に備えて:

SELECT sex, uid
FROM user
WHERE uid IN (
  SELECT uid2
  FROM friend
  WHERE uid1 = me()
)
AND sex = 'female'
LIMIT 10
于 2012-08-18T15:59:33.317 に答える
2

あなたの質問は、どこからユーザーIDを取得しようとしているのかについてあまり明確ではありません。 友達のIDを分けたいと思っていると思います。最初にフレンド リストを取得します。

$f=$facebook->api('/me/friends',array('access_token'=>$accessToken));

male=new array();次に、との 2 つの配列を定義しますfemale=new array();。各友達の性別を確認するループ:

foreach($f as $t){
   $usr=$facebook-api("/$t['id']");
       if($usr['gender']=='male')
           $male[]=$usr['id'];
       else 
           $female[]=$usr['id']; 
}

ループの最後に、すべての男性と女性がそれぞれの配列に含まれます。

于 2012-08-18T17:07:42.513 に答える
0

たった 1 つの要求で、公開しているものを解決するための簡単でクリーンなコードを開発します。

  1. 配列の作成 (男性、女性)
  2. IDと性別を取得するリクエストを行う (?fields=id,gender)
  3. ループデータと条件 (男性、女性)
    // 配列の友達
    $female_friends = 配列();
    $male_friends = 配列();

    // リクエストする
    $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_friends);
    print_r($male_friends);

于 2014-07-10T09:18:21.250 に答える