2011-08-18 88 views
-1

我有以下阵列:如何在PHP中通过键对关联多维数组进行排序?

$data['uploads']['ccc'] = 'something'; 
$data['uploads']['bbb'] = 'something'; 
$data['uploads']['aaa'] = 'something'; 
$data['downloads']['ccc'] = 'something'; 
$data['downloads']['aaa'] = 'something'; 
$data['downloads']['bbb'] = 'something'; 

,我需要它的字母顺序对关键字排序,所以最终结果必须是:

$data['downloads']['aaa'] = 'something'; 
$data['downloads']['bbb'] = 'something'; 
$data['downloads']['ccc'] = 'something'; 
$data['uploads']['aaa'] = 'something'; 
$data['uploads']['bbb'] = 'something'; 
$data['uploads']['ccc'] = 'something'; 

各种自定义排序功能,没有运气。任何想法尝试?

+0

的可能重复[PHP关联数组排序(http://stackoverflow.com/questions/2957587/php-associative-array-sort) –

回答

2
ksort($data); 

http://php.net/manual/en/function.ksort.php

从PHP文件中的注释

另外:

这里是一个函数递归排序多维数组的关键:

function deep_ksort(&$arr) { 
    ksort($arr); 
    foreach ($arr as &$a) { 
     if (is_array($a) && !empty($a)) { 
      deep_ksort($a); 
     } 
    } 
} 
+0

此功能将无法运行递归...当它返回,只有最外面数组的键将被排序。 –

+0

@Christopher Armstrong我刚刚添加了一个函数“deep_keysort”来处理你看到的多维度? – amosrivera

+0

我现在看到它。将我的投票更改为+1 –

相关问题