我正在寻找以这种方式对多维数组进行排序的最佳(最快)方法:
array(
2010 => array(
1 => array(
26 => 'some value',
29 => 'some value',
31 => 'some value'
),
7 => array(
13 => 'some value',
25 => 'some value',
4 => 'some value'
)
),
2011 => array(
12 => array(
5 => 'some value',
3 => 'some value',
19 => 'some value'
),
2 => array(
7 => 'some value',
30 => 'some value',
14 => 'some value'
)
)
)
正如您所看到的,我使用年,月和日作为键,我需要通过此键对数组进行排序。我真的很感激任何帮助。
由于
答案 0 :(得分:3)
你可以试试这个。可以使用递归函数使其更通用,但我认为这在你的情况下已经足够了。
foreach ($years as &$months){
foreach ($months as &$days){
ksort($days);
}
ksort($months);
}
ksort($years);
答案 1 :(得分:2)
您可以尝试“array_walk_recursive”以递归方式访问多维数组中的项以减少函数调用。一个例子:
function custom_sort(&$val, $key) {
if (is_array($val)) {
ksort($val);
}
}
array_walk_recurisive($arrInput, 'custom_sort');