我现在已经尝试了几个小时来从json代码获取title字段。下面是我的PHP代码
$search = $_GET['search'];
$new = str_replace(' ', '+', $search);
$url = "http://api.themoviedb.org/3/search/movie?api_key=###&query=".$new;
$json = file_get_contents($url);
$json_data = json_decode($json, true);
$title = $json_data->title;
echo $title;
这是json的var转储
array(4) { ["page"]=> int(1) ["results"]=> array(1) { [0]=> array(10) { ["adult"]=> bool(false) ["backdrop_path"]=> string(32) "/4uJZvmEMX6Z6ag3bzym5exLY9wI.jpg" ["id"]=> int(65) ["original_title"]=> string(6) "8 Mile" ["release_date"]=> string(10) "2002-11-08" ["poster_path"]=> string(32) "/dXzTrKwpbLpCqn8O70FUUhNbYQT.jpg" ["popularity"]=> float(3.792332418578) ["title"]=> string(6) "8 Mile" ["vote_average"]=> float(6.2) ["vote_count"]=> int(185) } } ["total_pages"]=> int(1) ["total_results"]=> int(1) }
我不断得到的错误是注意:试图获取非对象的属性
任何帮助将不胜感激。
答案 0 :(得分:2)
$json_data = json_decode($json, true);
将返回一个不是对象的数组
所以你需要使用
$json_data["title"];
注意:您的json解码数组是嵌套的,因此您可能需要像在您的情况下一样使用。
$json_data["results"][0]["title"];
或者更好地循环并获得所需的数据。
答案 1 :(得分:0)
我刚刚开始使用PHP,我认为这可能对你有所帮助......但我不确定
foreach($json_data as $key => $value){
if($key == "results"){
$json_data2 = $value;
}
}
foreach($json_data2 as $key => $value){
if($key == "original_title"){
$title = $value;
}
}
echo $title;