PHP Twitter API поиска - ForEach () не работает - PullRequest
2 голосов
/ 20 декабря 2011

Это глупый простой вопрос для некоторых из вас, но я не могу распечатать результат.

Я продолжаю получать предупреждение: неверный аргумент передан foreach () в C: \ xampp\ htdocs \ td.php в строке 14

Спасибо

$url = "http://search.twitter.com/search.json?q=shoes&include_entities=true&rpp=2";

$data = file_get_contents($url);
$result = json_decode($data, true);

foreach ($result->results as $data) {
    echo $data->created_at;
}

Возвращение json выглядит следующим образом.

Array
(
    [completed_in] => 0.019
    [max_id] => 1.4886632421341E+17
    [max_id_str] => 148866324213411841
    [next_page] => ?page=2&max_id=148866324213411841&q=shoes&rpp=2&include_entities=1
    [page] => 1
    [query] => shoes
    [refresh_url] => ?since_id=148866324213411841&q=shoes&include_entities=1
    [results] => Array
        (
            [0] => Array
                (
                    [created_at] => Mon, 19 Dec 2011 20:44:32 +0000
    ...
    etc
    ...

1 Ответ

3 голосов
/ 20 декабря 2011

$result - это массив, но вы рассматриваете его как объект. Аналогично, его внутренний компонент $results также является массивом ассоциативных массивов, но вы рассматривали его как объект. $data в контексте вашего цикла - это массив, имеющий created_at в качестве одного из ключей:

// Access [results] as an array key
foreach ($result['results'] as $data) {
    // $data is $results[0], $results[1], ...,$results[n]
    // [created_at] is an array key of $results[n]
    echo $data['created_at'];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...