2011-02-09 18 views
0

Facebookの友だちをfirendリストからランダム化しようとしています。PHPでFacebookの友達をランダム化する方法は?

私はPHPには非常に慣れているので、誰かが私を助けてくれますか?

$friends_json = file_get_contents('https://graph.facebook.com/me/friends?access_token='.$session["access_token"]); 
$friends = json_decode($friends_json, true); 
$friend_rand = array_rand($friends, 1); // <-- is that right? how can I print it on screen? 
+0

?私はとにかくあなたのためにそれを修正しました。 – ifaour

答えて

2

array_randは、キー配列を返します。あなたはコードを印刷するだけで一つの要素を抽出しているので

echo($friend_rand[0]); 

アンドレアの答えも同様に動作しますが、それは、配列(ない要素)を印刷します。

1

友人の配列全体をランダム化することは、コードと処理の無駄です。単純に配列からランダムな名前を1つ取り除くだけです。

ランダムなキーを配列から選択するだけです。代わりにあなたの最後の行の、使用:

echo $friends[mt_rand(0, count($friends)-1)]; 
+1

mt_randが高速で、よりランダムな結果セットを生成することに注意してください。 –

+0

ええ、そうです。あなたはなぜ、それらが遅くて無作為でもない場合、特にインターフェイスが同一であるため、rand()をなぜ残したのだろうと思います。更新された答え。 –

0

さて、あなたのコードは、あなたがこれを行う必要があるので、はほとんど右、問題は返される結果は、「データ」配列でラップされている。

$friends_json = file_get_contents('https://graph.facebook.com/me/friends?access_token='.$session["access_token"]); 
$friends = json_decode($friends_json, true); 
$k = array_rand($friends["data"]); 
echo $friends["data"][$k]["name"]; 

または最後の2行はで置き換えることができます:あなたは右、 `/ mefriends`ない、それは`/ME/friends`だことを知っていると

echo $friends["data"][array_rand($friends["data"])]["name"]; 
関連する問題