だから私は私が書いたこの一連の関数を持っています。それは以下の配列を取り、すべての曲をアルファベット順にソートします。問題は、アーティストの曲を配列に配置されたのと同じ順序で吐き出すことだけです。
機能
function arraySort($a, $b){
return $a['title'] > $b['title'];
}
function sortSongs($artist){
$count = count($artist);
if($count == 2){
foreach($artist as $album=>$trackListing){
sortSongs($artist[$album]);
}
}else{
foreach($artist as $key=>&$value){
usort($artist[$key], 'arraySort');
print_r($artist);
}
}
}
sortSongs($music['Creed']);
アレイ
$music = array(
'Creed' => array(
'Human Clay' => array(
array(
'title' => 'Are You Ready'
),
array(
'title' => 'What If'
),
array(
'title' => 'Beautiful'
),
array(
'title' => 'Say I'
),
),
'Full Circle' => array(
array(
'title' => 'Overcome'
),
array(
'title' => 'Bread of Shame'
),
array(
'title' => 'A Thousand Faces'
),
array(
'title' => 'Suddenly'
),
array(
'title' => 'Rain'
),
array(
'title' => 'Away in Silence'
),
),
),
);
注:読み取りのために配列を短くしました。
つまり、私が渡しているアーティストが2枚のアルバムを持っている場合、アルバム名を渡し、そのアルバムの曲にusortを使用するということです。未分類でお見せしました。