本文介绍了通过第二级键对多维数组进行排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个看起来像这样的数组:
I have an array that looks like this:
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"
}
}
}
我想使用日期键对它进行排序,以使季度按秋季/夏季/春季的正确顺序排列.看起来应该像这样:
And I'd like to sort it using date keys so that quarters are in the right order Fall/Summer/Spring. Which should look like this:
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 ()函数以我自己的模式对四分之一进行排序?
Is there a way to get this result by sorting using date, or should I use uksort() function to sort quarters with my own pattern?
请让我知道您的想法!谢谢!
Please, let me know what you think! Thank you!
推荐答案
您应该使用uasort函数.您的代码可能看起来像这样:
you should use the uasort function. Your code could look something like this:
function myComparison($a, $b){
return (key($a) > key($b)) ? -1 : 1;
}
uasort ( $quarters , 'myComparison' );
例如,将使用$quarters["Fall Quarter 2012"]["20121018"]
进行排序
这篇关于通过第二级键对多维数组进行排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!