Неопределенная ошибка индекса при использовании из Twitter API - PullRequest
0 голосов
/ 17 августа 2011

Я пытаюсь извлечь ежедневные тренды из API Twitter, используя cURL и PHP, но получаю Undefined index ошибки.Что я делаю неправильно?

Вот мой php код

<?php
$trends_url = "http://api.twitter.com/1/trends/daily.json";

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, $trends_url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$curlout = curl_exec($ch);

curl_close($ch);

$response = json_decode($curlout, true);

foreach($response as $trend){

$url = $trend['query'];

$name = $trend['name'];

?>

<div class="trend">
    <a href="http://www.twitter.com/<?php echo $url;?>"><?php echo $name;?></a>
</div
<?php
    } 
?>

показывает ошибку:

Notice: Undefined index: query in C:\xampp\htdocs\twitter_trends\index.php on line 22

Notice: Undefined index: name in C:\xampp\htdocs\twitter_trends\index.php on line 24

Ответы [ 2 ]

0 голосов
/ 12 сентября 2011

Вам нужно изменить часть foreach следующим образом:

foreach($response['trends'] as $trend){

    foreach($trend as $trend)
    {
        $url = $trend['query'];

        $name = $trend['name'];

        ?>
        <div class="trend">
            <a href="http://www.twitter.com/<?php echo $url;?>"><?php echo $name;?></a>
        </div>
        <?php
        }
    } 

?>
0 голосов
/ 17 августа 2011

Вы на двух уровнях от массивов с именами / запросами.

foreach($response as $array){
    foreach ($array as $date) {
        foreach ($date as $trend) {
            echo $trend['query'] . "\n";
        }
    }
}

print_r($response), если вы запутались.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...