【发布时间】:2013-01-02 18:52:26
【问题描述】:
因此,我编写了一组函数,它们将采用下面的数组并按字母顺序对所有歌曲进行排序。问题是它所做的只是按照艺术家在数组中的排列顺序吐出歌曲。
函数
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 ......我得到的只是确切的我向您展示的相同数组,未排序。
【问题讨论】:
-
感谢您提供格式正确的代码。
-
@phpisuber01 你的评论对我没有帮助