Неустранимая ошибка: невозможно использовать смещение строки в качестве массива - анализ строки из ответа JSON - PullRequest
0 голосов
/ 28 марта 2012

Я использую API для дат фильмов и пытаюсь проанализировать массив json. Я пытался разобрать даты выпуска, но я получаю эту ошибку - Неустранимая ошибка: невозможно использовать смещение строки как массив

Ниже приведен пример из массива

Array
(
    [total] => 17
    [movies] => Array
        (
            [0] => Array
                (
                    [id] => 22494
                    [title] => Titanic (in 3D)
                    [year] => 1997
                    [mpaa_rating] => PG-13
                    [runtime] => 195
                    [critics_consensus] => A mostly unqualified triumph for Cameron, who offers a dizzying blend of spectacular visuals and old-fashioned melodrama.
                    [release_dates] => Array
                        (
                            [theater] => 2012-04-04
                            [dvd] => 1999-08-31
                        )

Вот мой простой код, который получает ошибку.

<?php
$url = 'http://api.rottentomatoes.com/api/public/v1.0/lists/movies/upcoming.json?apikey=px8rr7zr5c6qjwpea66gdf93&page_limit=18';
$json = file_get_contents($url);
$data = json_decode($json, TRUE);

foreach($json['releasedates']['theatre'] as $item) {
    print $item['theatre'];
}

?>

В идеале я хочу проанализировать даты в переменной и сравнить их с текущим днем ​​

Спасибо за вашу помощь, ребята:)

1 Ответ

2 голосов
/ 29 марта 2012

Ваш foreach использует неправильную переменную (и, по данным, вы написали неправильно театр)

РЕДАКТИРОВАТЬ: Ваш сценарий работает:

<?php
    $url = 'http://api.rottentomatoes.com/api/public/v1.0/lists/movies/upcoming.json?apikey=px8rr7zr5c6qjwpea66gdf93&page_limit=18';
    $json = file_get_contents($url);
    $data = json_decode($json, TRUE);

    foreach($data['movies'] as $item) {
        echo $item['title'] . ' is opening on ' . $item['release_dates']['theater'] . "\n";
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...