Как я могу получить imdb_id из API, используя цикл foreach - PullRequest
0 голосов
/ 30 января 2020

Я хочу получить imdb_id изнутри json, используя foreach. У меня возникла проблема с его декодированием и отображением.

Мой php код:

$themoviedburl = "http://api.themoviedb.org/3/tv/60625/external_ids?api_key=";
$get = file_get_contents($themoviedburl);
$decode1 = json_decode($get, TRUE);
foreach($decode1['external_ids'] as $value){
    $imdb    = $value['imdb_id'];
}

Json:

{"id":60625,"imdb_id":"tt2861424","freebase_mid":"/m/0z6p24j","freebase_id":null,"tvdb_id":275274,"tvrage_id":33381,"facebook_id":"RickandMorty","instagram_id":"rickandmorty","twitter_id":"RickandMorty"}

1 Ответ

1 голос
/ 30 января 2020

После $decode1 = json_decode($get, TRUE);

Вы можете просто сделать $imdb_ids = array_column($decode1['external_ids'],'imdb_id');, чтобы собрать все imdb_id в один массив.

Подробнее о array_column: https://www.php.net/manual/en/function.array-column.php

Как уже говорилось в комментариях, чтобы получить только один imdb_id ID, вы можете сделать, как показано ниже:

$json = '{"id":60625,"imdb_id":"tt2861424","freebase_mid":"/m/0z6p24j","freebase_id":null,"tvdb_id":275274,"tvrage_id":33381,"facebook_id":"RickandMorty","instagram_id":"rickandmorty","twitter_id":"RickandMorty"}';

$decoded_data = json_decode($json,true);

$imdb_id = $decoded_data['imdb_id'];
...