2014-01-07 5 views
0

iTunes Search API를 사용하여 iTunes 검색 앱을 코딩하고 있습니다. 지금까지 나는 모든 것이 제대로 작동하지만 여기에 내가 달려가는 문제가 있습니다. 특정 키워드로 모든 미디어 유형을 검색하려는 경우 특정 순서없이 결과를 반환합니다. 결과에 무작위로 섞인 영화, 팟 캐스트, 노래 등이있을 수 있습니다. 내가 아는 한 API는 가장 최근 출시 날짜별로 정렬 할 수 있습니다.iTunes 검색 API 종류별 검색 결과 "kind"

미디어 유형별로 그룹화하려면 "kind": 키를 사용하여 결과를 정렬하고 싶습니다. 미디어 유형별로 그룹화되어있는 한 어떤 순서로되어 있는지 상관하지 않습니다.

이것은 간단한 키 값 쌍을 사용하는 JSON 형식의 일반적인 반환 값의 일부입니다.

$iTunes = array(); 
for($i=0; $i<count($data['results']); $i++) { 
$kind = $data['results'][$i]['kind']; 
$artistId = $data['results'][$i]['artistId']; 
$collectionId = $data['results'][$i]['collectionId']; 
$trackId = $data['results'][$i]['trackId']; 
$artistName = $data['results'][$i]['artistName']; 
$trackName = $data['results'][$i]['trackName']; 
$collectionName = $data['results'][$i]['collectionName']; 
$artistViewUrl = $data['results'][$i]['artistViewUrl']; 
$trackViewUrl = $data['results'][$i]['trackViewUrl']; 
$collectionViewUrl = $data['results'][$i]['collectionViewUrl']; 
$image100 = $data['results'][$i]['artworkUrl100']; 
$collectionPrice = $data['results'][$i]['collectionPrice']; 
$previewUrl = $data['results'][$i]['previewUrl']; 

I : 나는 내가 여기 "kind":

{"wrapperType":"track", 
"kind":"song", 
"artistId":909253, 
"collectionId":120954021, 
"trackId":120954025, 
"artistName":"Jack Johnson", 

의 키와 10 개 개의 서로 다른 미디어 유형과 최대 200 개 결과를 얻을 수 있도록 최대의 결과를 반환하도록 설정 내 결과 배열의 일부가 키의 값에 따라 그룹화하는 것에 대해 머리를 감싸려고합니다. 다른 배열을 만들고 $kind = $data['results']을 반복합니까?

답변

1

'kind'를 차원으로하여 배열을 작성해야하는 것처럼 보일 수 있습니다. 이 같은 뭔가 :

$data_array = array(); 
for ($i = 0; $i <count($data['results']); $i++) { 
    $kind = $data['results'][$i]['kind']; 
    $data_array[$kind][] = $data['results'][$i]; 
} 

당신은 다음과 같은 배열과 함께 일할 수 :

foreach ($data_array as $kind => $kind_array) { 
    // echo out any category headers based on $kind 
    foreach($kind_array as $item) { 
     // echo out each individual item within this kind group 
    } 
} 
+0

감사 마이크, 그것은 내가 찾던 정확히 것입니다. 그것은 완벽하게 작동합니다. –