Twitter Trends PHP - PullRequest
       8

Twitter Trends PHP

0 голосов
/ 23 февраля 2011

Я пытаюсь использовать 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>";
}

?>

И я получаю эту ошибку:

Примечание: неопределенное смещение: 0 в \ index.php в строке 11

Предупреждение: неверный аргумент указан для foreach () \ index.php в строке 11

Ответы [ 2 ]

2 голосов
/ 23 февраля 2011

Вы неправильно прочитали JSON.Вам нужно сделать что-то вроде следующего:

foreach ($obj['trends']['2011-02-23 18:00:00'] as $trend) {
    print $trend['query'];
    echo "<br>";
    print $trend['name'];
    echo "<hr>";
}
0 голосов
/ 19 июля 2012

Если я не ошибаюсь

$obj = json_decode($result, true);

будет производить массив, а не объект. во-вторых, использовать твиттер 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>";
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...