2013-11-15 57 views
3

我剛剛開始學習PHP/JSON,並且我已經研究過如何從json文件輸出數組。我的目標是輸出<li>' s中的所有專輯標題(在這種情況下,它們在json文件中被稱爲collectionName)。我想我可能會以錯誤的方式去做。PHP/JSON Array - 從iTunes

$artistId = '644708';  
$otherAlbumsURL = 'http://itunes.apple.com/lookup?id='. $artistId .'&entity=album'; 
$a = (array)json_decode(file_get_contents($otherAlbumsURL)); 
var_dump($a); 
+0

如果你想讓json_decode返回一個數組,請將第二個參數傳遞爲true。 http://br.php.net/json-decode – rray

回答

2

如果你想要一個數組,只需使用:

$a = json_decode(file_get_contents($otherAlbumsURL), true); 
var_dump($a); 

json_decode設置第二個參數爲TRUE會給你一個關聯數組,而不是一個對象。

從URL的反應來看,你會通過這樣的結果需要循環,以獲得任何可用的集合名稱(第一個數組元素不包含集合名稱,因爲它是關於藝術家的信息即它不是一張專輯):

$artistInfo = $a['results'][0]; //Assign artist info to its own variable. 
unset($a['results'][0]); //Delete artist info from the array. 

//Loop through the results 
foreach($a['results'] as $result){ 
    //$result['collectionName'] has the collection name. 
    echo $result['collectionName'] . '<br>'; 
} 
+0

但是,這不關注某個對象(是他們被稱爲?) - 例如collectionName? – BCLtd

+0

@ user1472266看看我的更新答案。 –

+0

這是現貨,我不認爲我會自己得到 - 甚至在閱讀php.net之後。無論如何,我現在可以看到這是如何工作的,並且可以付諸實踐。謝謝! – BCLtd