У меня короткий JSON-файл с URL
https://api.crossref.org/works?query.title=Tuberculosis+drug&filter=type:journal-article,from-print-pub-date:2010,until-print-pub-date:2010&select=DOI&rows=3
Я использовал этот код, чтобы получить total-results и список DOI значение
total-results
DOI
$crossref_api_url = 'https://api.crossref.org/works?query.title=Tuberculosis+drug&filter=type:journal-article,from-print-pub-date:2010,until-print-pub-date:2010&select=DOI&rows=2'; $JSON = file_get_contents($crossref_api_url); $Array = json_decode($JSON, true); $items_list = $message->items; $totalItems = $message->total-results; echo $totalItems; for($i = 0; $i < count($items_list ); $i++) { $doi = $items_list[$i]->items->DOI; echo $doi; }
Результат появляется 0. Нет totalItems значения, DOI списка.
0
totalItems
Пожалуйста, помогите мне найти ошибку моего кода. Спасибо
Правильный код:
$crossref_api_url = 'https://api.crossref.org/works?query.title=Tuberculosis+drug&filter=type:journal-article,from-print-pub-date:2010,until-print-pub-date:2010&select=DOI&rows=2'; $JSON = file_get_contents($crossref_api_url); $Array = json_decode($JSON, true); // with `true` you decode to ARRAY $items_list = $Array['message']['items']; $totalItems = $Array['message']['total-results']; echo $totalItems; foreach ($items_list as $item) { echo $item['DOI']; }