我正在尝试使用http://api.twitter.com/1/trends/current.json?exclude=hashtags但是我遇到了一些麻烦。
所以,我正在尝试使用:
<?php
$init = 'http://api.twitter.com/1/trends/current.json?exclude=hashtags';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$init);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$result = curl_exec($ch);
curl_close($ch);
$obj = json_decode($result, true);
foreach ($obj[0]['trends'] as $trend) {
print $trend['query'];
echo "<br>";
print $trend['name'];
echo "<hr>";
}
?>
我收到此错误:
注意:未定义的偏移量:第11行的\ index.php中的0
警告:第11行的foreach()\ index.php提供的参数无效
答案 0 :(得分:2)
你读错了JSON。您需要执行以下操作:
foreach ($obj['trends']['2011-02-23 18:00:00'] as $trend) {
print $trend['query'];
echo "<br>";
print $trend['name'];
echo "<hr>";
}
答案 1 :(得分:0)
如果我没错?
$obj = json_decode($result, true);
会生成一个数组,而不是一个对象。其次使用twitter api就像:
<?php
function get_trends($woeid){
return json_decode(file_get_contents("http://api.twitter.com/1/trends/".$woeid.".json?exclude=hashtags", true), false);
}
$data = get_trends(23424848); //23424848 is woeid for India...
$trends = $data[0]->trends;
echo "<ul>";
if(!empty($trends)){
foreach($trends as $trend){
echo '<li><a href="'.$trend->url.'" target="_blank">'.$trend->name.'</a></li>';
}
}
echo "</ul>";
?>