我有一个看起来像这样的数组:
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() 函数以我自己的模式对季度进行排序?
请告诉我您的想法!谢谢!
您应该使用 uasort 函数。你的代码可能看起来像这样:
function myComparison($a, $b){
return (key($a) > key($b)) ? -1 : 1;
}
uasort ( $quarters , 'myComparison' );
例如,将使用
$quarters["Fall Quarter 2012"]["20121018"]
进行排序