我正在尝试使用TheMovieDatabase API来获取一些信息以放在我的脚本上。 我已经使用
正确解码了输出$data['moviecrew'] = json_decode($movie_crew);
现在,$ data ['moviecrew']数组如下:
“剧组”:[{ “credit_id”: “52fe43409251416c750094c5”, “部”: “导演”, “ID”:59026, “工作”: “导演”, “名”:“佩顿 芦苇”, “profile_path”: “/ h9lEnyQ60EjKRT3ZAOcrqQVlwn3.jpg”},{ “credit_id”: “52fe43409251416c750094f3”, “部”: “写作”, “ID”:52934, “工作”: “剧本”, “名”: “尼古拉斯 斯托勒”, “profile_path”: “/ qwcx9bdVhmyjWb0KOCdRHDXoFZ9.jpg”},{ “credit_id”: “52fe43409251416c750094f9”, “部”: “写作”, “ID”:62763, “工作”: “剧本”, “名”: “Jarrad Paul“,”profile_path“:”/ qWaXQi5Pz6jEKw9E2xRuX74phiB.jpg“},..
我想做的是将“Director”名称放入我的PHP脚本中。 我尝试了以下代码:
<?php if($moviecrew->crew->job == "Director"){echo $moviecrew->crew->name;} ?>
不幸的是它不起作用,它给了我以下错误:
遇到PHP错误 严重性:注意 消息:尝试获取非对象的属性 文件名:film / filmsheet.php 行号:36 回溯: 文件:/Applications/XAMPP/xamppfiles/htdocs/domain.com/application/views/film/filmsheet.php 行:36 功能:_error_handler 文件:/Applications/XAMPP/xamppfiles/htdocs/domain.com/application/controllers/Film.php 行:106 功能:查看 文件:/Applications/XAMPP/xamppfiles/htdocs/domain.com/index.php 行:315 功能:require_once
第36行只是:
<?php if($moviecrew->crew->job == "Director"){echo $moviecrew->crew->name;} ?>
我该如何解决这个问题?谢谢你的支持。
答案 0 :(得分:1)
还有一些问题,其中一个可能是代码示例中的复制/粘贴错误。
首先您有$data['moviecrew']
,然后尝试使用问题中不存在的变量$moviecrew
。 (它是否存在于代码中?)
假设您已完成$moviecrew = $data['moviecrew']
,您将遇到以下问题:
&#34;乘员&#34;是一个数组而不是一个对象,所以你需要遍历它们。
foreach ($moviecrew->crew as $crewMember) {
if ($crewMember->job === 'Director') {
echo $crewMember->name;
}
}
但是你想要只提取导演的名字,所以如果我们假设总是只有一个导演: -
$director = null;
foreach ($moviecrew->crew as $crewMember) {
if ($crewMember->job === 'Director') {
$director = $crewMember->name;
break;
}
}
if (!is_null($director)) {
echo $director;
}