2010-03-27 4 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;으로 변경하면 아무 것도 표시되지 않습니다.

내가 뭘 잘못하고 있니?

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

을이 앨범 이름 목록을 얻을 것으로 보인다 :이 사용에 대한 어떤

답변

1

.


짧게하려면 $doc->results->albummatches을 반복하지 말고 $doc->results->albummatches->album을 반복해야합니다.

그리고 루프 내에서 $album은 현재 앨범에 해당합니다. 사용할 수 있습니다. $album->name

관련 문제