【发布时间】:2014-08-07 21:24:44
【问题描述】:
我找到了这个排序代码:
usort($array, function($a, $b) {
return $a['order_inside_level'] - $b['order_inside_level'];
});
这对一个级别有好处。我有类似的东西:
array(
array(
'level'=>'aaa',
'order'='1',
'subs'=>array(
array(
'level'=>'bbb',
'order'='1',
'subs'=>array(
array(
'level'=>'ccc',
'order'='1',
'subs'=>array(
array(
'level'=>'ddd',
'order'='1',
'subs'=>array(
...
)
)
)
)
,
array(
'level'=>'ccc',
'order'='2',
'subs'=>array(
)
)
),
array(
'level'=>'bbb',
'order'='2'
),
array(
'level'=>'bbb',
'order'='3'
)
)
)
),
array(
'level'=>'aaa',
'order'='2',
'subs'=>array(
)
)
)
数组在每一层中可以有任意深度和任意数量的元素。我需要使用上面的代码按“顺序”键对每个深度级别(aaa、bbb、ccc 等)进行排序。
【问题讨论】:
-
为什么实际上需要对其进行排序?
-
我正在编写菜单生成器。菜单从这样的数组生成。每个级别的顺序都很重要。
标签: php arrays sorting multidimensional-array