2010-09-07 8 views
0

J'ai tableau comme ci-dessousvaleur de sélection aléatoire de tableau complexe en php

array(1) { 
    ["data"]=> 
    array(6) { 
    [0]=> 
    array(2) { 
     ["name"]=> 
     string(10) "Wang" 
     ["id"]=> 
     string(9) "500011929" 
    } 
    [1]=> 
    array(2) { 
     ["name"]=> 

     string(17) "Singh" 
     ["id"]=> 
     string(9) "500033614" 
    } 
    [2]=> 
    array(2) { 
     ["name"]=> 
     string(9) "Adam" 
     ["id"]=> 
     string(9) "5014177" 
    } 
    [3]=> 
    array(2) { 
     ["name"]=> 
     string(23) "Siva" 
     ["id"]=> 
     string(9) "5036644" 
    } 
    [4]=> 
    array(2) { 
     ["name"]=> 
     string(11) "Chu" 
     ["id"]=> 
     string(9) "5044111" 
    } 
    [5]=> 
    array(2) { 
     ["name"]=> 

     string(18) "Matta" 
     ["id"]=> 
     string(9) "56657897" 
    } 
    } 
} 

je dois sélectionner 2 valeur au hasard dans ce tableau que j'ai essayé avec le code ci-dessous je reçois null.

$mylist = $facebook->api('/me/friends'); 
$rand_keys = array_rand($mylist , 2); 
var_dump($mylist[$rand_keys[]]); 

S'il vous plaît aidez-moi à résoudre ce problème. Merci d'avance!

Répondre

1

Faire usage de la lecture aléatoire de PHP fonction intégrée pour faire facilement

$my_friends = $facebook->api('/me/friends'); 
$temp= $my_friends ['data']; 
shuffle($temp); 
$mylist= array_slice($temp,0,2); 
0

Essayez ceci:

$rand_keys = array_rand($mylist['data'], 2); 
var_dump($mylist['data'][$rand_keys[0]]); 
var_dump($mylist['data'][$rand_keys[1]]); 

comme juste en utilisant un [] signifie généralement que vous ajoutez un nouvel index au tableau.

Si vous voulez en boucle:

foreach ($rand_keys as $key) { 
    var_dump($mylist['data'][$key]); 
} 

devrait vous donner quelque chose à partir de.

EDIT

Je viens de voir ce fut un tableau multidimensionnel contenu dans des "données", voir le code mis à jour ci-dessus. Je ne sais pas si c'est le problème, mais il semble que c'est le cas.

+0

ne fonctionne pas même problème NULL – Elankeeran

+0

Qu'est-ce qu'un '' var_dump' de rand_keys' de $ vous fournir? –

+0

Je suis résultat NULL \t $ rand_keys = array_rand ($ mylist, 2); var_dump ($ rand_keys); – Elankeeran

0

$ myallfriend = $ Facebook-> api (array ('méthode' => 'fql.query', 'query' => "CHOISIR uid1 DE l'ami O u uid2 = '$ user'")); foreach ($ myallfriend as $ status_a) { $ status_sql [] = $ statut_a ['uid1'];} $ myarray = array_rand ($ status_sql, 3); echo $ status_sql [$ myarray [0]]; echo $ status_sql [$ myarray [1]]; echo $ status_sql [$ myarray [2]]; for ($ i = 0; $ i < 3; $ i ++) {

attache $ = array ('message' => 'Beet Me If U Can!, 'name'=> « Crazy joueurs de cricket! ", 'link' =>" http://apps.facebook.com/crazycricketers ", 'description' => $ name." A marqué ". $ _ GET ['score']." Runs of ". $ balles à un taux de grève de ". $ strikerate." Défiez votre ami! ", 'picture' =>" http://www.roohware.net/products/trivia/images/trivia.jpg ");

$ facebook-> api ('/'.$ status_sql [$ myarray [$ i]].'/Feed ',' POST ', $ pièce jointe); echo "Publier sur". $ Status_sql [$ myarray [$ i]]. "
"; }

tout 1 qui veulent cela, travailler 100% [email protected]