我如何使用 foreach 循环从 api 中获取 imdb_id

How do i get imdb_id from in api using foreach loop

我想使用 foreach 从 json 内部获取 imdb_id 我在解码和显示它时遇到问题。

到目前为止我的 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"}

$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'];