2010-03-27 18 views
0

我試圖從Last.fm API的結果中循環,但它不工作。當我嘗試遍歷一個簡單的XML對象時,循環無法正常工作

function get_url($url){ 
    $ch = curl_init(); 
    curl_setopt($ch,CURLOPT_URL,$url); 
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
    curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,5); 
    $content = curl_exec($ch); 
    curl_close($ch); 
    return $content; 
} 
$xml = get_url('http://ws.audioscrobbler.com/2.0/?method=album.search&album=kid%20a&api_key=b25b959554ed76058ac220b7b2e0a026'); 
$doc = new SimpleXMLElement($xml); 
$albums = $doc->results->albummatches; 
foreach($albums as $album){ 
    echo $album->album->name; 
} 

這只是顯示了第一張專輯。如果我將foreach循環中的代碼更改爲echo $album->name;,則完全不顯示。

我在做什麼錯?

回答

1

怎麼樣使用這個:

$albums = $doc->results->albummatches; 
foreach($albums->album as $album){ 
    echo $album->name . '<br />'; 
} 

這似乎讓專輯名稱的列表。


爲了使事情變得簡短,不必循環使用$doc->results->albummatches,您必須循環使用$doc->results->albummatches->album

然後,在循環內,$album對應於當前專輯;所以,你可以使用$album->name