2012-06-06 7 views
0

Je suis en train de faire tous les adeptes de Twitter pour un utilisateur spécifique avec cet appel APIItération à travers un tableau associatif

https://api.twitter.com/1/users/lookup.json?screen_name=twitterapi,twitter&include_entities=true 

Et il y a un exemple de sortie là:

https://dev.twitter.com/docs/api/1/get/users/lookup 

Je suis en train de obtenir le nom de l'écran de l'utilisateur en procédant comme suit:

$json2=file_get_contents('http://api.twitter.com/1/users/lookup.json?user_id='.$post.'') ; 
$accounts2 = json_decode($json2); 

while($element = each($accounts2)) { 
    echo $element[ 'screen_name' ]; 
    echo '<br />'; 
} 

où $ post est tous les IDs (environ 100) TOG concaténés éther.

ci-dessus échouerait avec:

Notice: Trying to get property of non-object 

Toute aide s'il vous plaît?

Répondre

3

Remplacer cette ligne:

$accounts2 = json_decode($json2); 

Avec ceci:

$accounts2 = json_decode($json2, true); 

Il convertit en un tableau associatif. Parce que user_id est unique, vous n'avez pas à boucler sur les résultats, mais pouvez simplement faire ceci:

echo $accounts2[0]['screen_name'] . '<br />'; 
+0

Maintenant, je reçois: Notice: Undefined index: screen_name –

0

Cela a fonctionné.

$json2=file_get_contents('http://api.twitter.com/1/users/lookup.json?user_id='.$post.'') ; 
$accounts2 = json_decode($json2); 
foreach ($accounts2 as $key => $jsons) { 

      foreach($jsons as $key => $value) { 

       if($key == 'screen_name'){ 
       echo $value; 
       } 


      } 
     } 
+0

la boucle interne est inutile que la boucle ne fonctionnera que si le tableau est associatif et vous pourriez aussi bien regarder directement alors –

0

Utilisez ceci.

$json2=file_get_contents('http://api.twitter.com/1/users/lookup.json?user_id='.$post.'') ; 
$accounts2 = json_decode($json2,true); 

echo $accounts2[0]['screen_name']; 
Questions connexes