我有一个如下所示的数组:
array(3) {
["Fall Quarter 2012"]=> array(2) {
[20121018]=> array(1) {
["agenda"]=> string(55) "Fall_2012/Agenda_20121018.pdf"
}
[20121011]=> array(2) {
["agenda"]=> string(55) "Fall_2012/Agenda_20121011.pdf"
["minutes"]=> string(56) "Fall_2012/Minutes_20121011.pdf"
}
}
["Spring Quarter 2012"]=> array(1) {
[20120413]=> array(1) {
["agenda"]=> string(57) "SPRing_2012/Agenda_20120413.pdf"
}
}
["Summer Quarter 2012"]=> array(1) {
[20120610]=> array(2) {
["agenda"]=> string(57) "Summer_2012/Agenda_20120610.pdf"
["minutes"]=> string(58) "Summer_2012/Minutes_20120610.pdf"
}
}
}
我想使用日期键对其进行排序,以便季度顺序为秋季/夏季/春季。这应该是这样的:
array(3) {
["Fall Quarter 2012"]=> array(2) {
[20121018]=> array(1) {
["agenda"]=> string(55) "Fall_2012/Agenda_20121018.pdf"
}
[20121011]=> array(2) {
["agenda"]=> string(55) "Fall_2012/Agenda_20121011.pdf"
["minutes"]=> string(56) "Fall_2012/Minutes_20121011.pdf"
}
}
["Summer Quarter 2012"]=> array(1) {
[20120610]=> array(2) {
["agenda"]=> string(57) "Summer_2012/Agenda_20120610.pdf"
["minutes"]=> string(58) "Summer_2012/Minutes_20120610.pdf"
}
}
["Spring Quarter 2012"]=> array(1) {
[20120413]=> array(1) {
["agenda"]=> string(57) "SPRing_2012/Agenda_20120413.pdf"
}
}
}
有没有办法通过使用日期排序来获得此结果,还是应该使用uksort()函数来使用我自己的模式对季度进行排序?
请让我知道你的想法!谢谢!
答案 0 :(得分:3)
你应该使用uasort函数。您的代码可能如下所示:
function myComparison($a, $b){
return (key($a) > key($b)) ? -1 : 1;
}
uasort ( $quarters , 'myComparison' );
这将使用$quarters["Fall Quarter 2012"]["20121018"]
进行排序,例如