2016-09-25 60 views
0

我想使用TheMovieDatabase API將一些信息放到我的腳本上。 我正確解碼使用Json to PHP - 如何從嵌套在一個更大的數組中的數組中獲取特定值

$data['moviecrew'] = json_decode($movie_crew); 

現在,$數據[「moviecrew」]數組是以下的輸出:

"crew":[{"credit_id":"52fe43409251416c750094c5","department":"Directing","id":59026,"job":"Director","name":"Peyton Reed","profile_path":"/h9lEnyQ60EjKRT3ZAOcrqQVlwn3.jpg"},{"credit_id":"52fe43409251416c750094f3","department":"Writing","id":52934,"job":"Screenplay","name":"Nicholas Stoller","profile_path":"/qwcx9bdVhmyjWb0KOCdRHDXoFZ9.jpg"},{"credit_id":"52fe43409251416c750094f9","department":"Writing","id":62763,"job":"Screenplay","name":"Jarrad Paul","profile_path":"/qWaXQi5Pz6jEKw9E2xRuX74phiB.jpg"}, ..

我想什麼做的是採取「主任「名字放在我的PHP腳本中。 我嘗試下面的代碼:

<?php if($moviecrew->crew->job == "Director"){echo $moviecrew->crew->name;} ?> 

遺憾的是它不工作,它給了我下面的錯誤:

A PHP Error was encountered Severity: Notice Message: Trying to get property of non-object Filename: film/filmsheet.php Line Number: 36 Backtrace: File: /Applications/XAMPP/xamppfiles/htdocs/domain.com/application/views/film/filmsheet.php Line: 36 Function: _error_handler File: /Applications/XAMPP/xamppfiles/htdocs/domain.com/application/controllers/Film.php Line: 106 Function: view File: /Applications/XAMPP/xamppfiles/htdocs/domain.com/index.php Line: 315 Function: require_once

線36只是:

<?php if($moviecrew->crew->job == "Director"){echo $moviecrew->crew->name;} ?> 

怎麼可能我解決了這個問題?感謝您的善意支持。

回答

1

有幾件事,其中之一可能是代碼示例中的複製/粘貼錯誤。

起初你有$data['moviecrew']然後你嘗試和使用變量$moviecrew這是不存在於你的問題。 (它是存在於代碼?)

假設你已經做了$moviecrew = $data['moviecrew'],你會遇到以下問題:

「船員」是一個數組不是一個對象,所以你需要循環在他們所有。

但要提取只是導演的名字,所以如果我們假設總有永遠只能一個導演: -

$director = null; 

foreach ($moviecrew->crew as $crewMember) { 
    if ($crewMember->job === 'Director') { 
     $director = $crewMember->name; 
     break; 
    } 
} 

if (!is_null($director)) { 
    echo $director; 
} 
+0

完美的,它就像一個魅力!謝謝bcmcfc :)關於你的亮點,我使用的是Codeigniter框架。 $ data ['moviecrew']已經在Controller中聲明。在聲明$ data對象後,我可以將它分配給特定的頁面,使用$ this-> load-> view('film/filmsheet',$ data)。通過這種方式,我可以使用像$ moviecrew這樣的$ data ['moviecrew']對象。 – mauro269