그래서 한 시간 동안 이걸로 고민하고 있습니다 ... 저는 MusicBrainz API로 작업 중이므로 결과적으로 저는 아티스트가 모든 릴리스를 검색하려고합니다. , ColdPlay (지금은 다른 나라에서 몇 권의 릴리스가 있습니다.)PHP 배열로 값으로 모든 항목 검색
내가하고 싶은 것은 : 중복 노래 제목에 대한
• 검색의 단점을 극복하기 위해 MusicBrainz 응답 배열입니다.
{
"title": "Parachutes",
"releaseDates": {
"UK": "2010-10-10",
"USA": "2010-10-12",
"AU": "2010-10-20",
"XW": "2010-11-11",
}
}
을 대신의 : https://hastebin.com/fejazububi.php
내가 사용하려고 중복 각각에 대해
•
그것이 그래서 응답이 같을 것이다 을 발표 것을 날짜와 국가를 찾을 수 array_filter, foreach etc .. 행운을 빈다. 당신 중 누군가가 이것을위한 suggesstion을 가지고 있습니까? 고맙습니다!해결 :
생성 응답 : https://hastebin.com/ubiqasugav.php 코드 : 루프를 통해
$Data = [];
$ReleasesData = $ArtistData->releases['releases'];
foreach ($ReleasesData as $rel) {
if(!isset($Data[$rel['title']]['releaseDates'][$rel['country']])) {
$Data[$rel['title']]['releaseDates'][$rel['country']] = [
'date' => $rel['date'],
'status' => $rel['status']
];
}
}
return print_r($Data);
? 샘플 데이터 배열과 해당 데이터에서 필요한 결과로 단순화하는 것이 좋습니다. – rishijd
주어진 응답에서 데이터를 필터링하는 것이 그리 어렵지 않습니다. 매번 특정 노래 제목을 검색 하시겠습니까? 아니면 모든 세부 정보가 포함 된 전체 목록을 확인 하시겠습니까? –
"Notice : Array to string conversion"만 가져옵니다. $ ReleasesData = $ ArtistData-> releases [ 'releases']; $ array_unique = array_unique ($ ReleasesData); $ array_diff = array_diff_assoc ($ ReleasesData, $ array_unique); ' –