循环访问关联数组


Iterating through an associative array

我正在尝试使用此 API 调用获取特定用户的所有推特关注者

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

那里有一个示例输出:

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

我正在尝试通过执行以下操作来获取用户的屏幕名称:

$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 />';
}

其中$post是连接在一起的所有 ID(大约 100 个)。

上述操作将失败,并显示:

Notice: Trying to get property of non-object

请帮忙吗?

替换此行:

$accounts2 = json_decode($json2);

有了这个:

$accounts2 = json_decode($json2, true);

它将其转换为关联数组。由于user_id是唯一的,因此您不必遍历结果,但可以简单地执行以下操作:

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

这奏效了。

$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;
                }

            }
        }

使用这个。

$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'];