2014-02-06 54 views
0

我不明白關於Hash'路徑'的文檔,所以我沒有運氣。我想每個字母順序排序層:CakePHP 2.4.4我怎樣才能排序一個多維數組與哈希::按字符串鍵和值排序?

array(
'music' => array(
    'genre' => array(
     (int) 0 => 'Dubstep', 
     (int) 1 => 'Blues', 
     (int) 2 => 'Classical' 
    ), 
    'instrument' => array(
     (int) 0 => 'Guitar (Electric)', 
     (int) 1 => 'Bassoon', 
     (int) 2 => 'Harmonica (Diatonic)' 
    ), 
'anotherLot' => array(

我需要通過按鍵陣列的第一後進行排序,那麼第二個通過鍵,和值第三在每個以後,所以我想這兩個更深層次將使用嵌套的foreach完成。

回答

1

我不熟悉CakePHP的散列類,但這裏是一個純PHP解決方案:

ksort($data); // sort main array by keys 

foreach ($data as &$outer) 
{ 
    ksort($outer); // sort next layer by keys 
    foreach($outer as &$inner) 
    { 
     asort($inner); // sort inner arrays by values 
    } 
} 
+0

我不能確定哈希::排序可以做的更好。我使用natcasesort()而不是asort()進行自然,不區分大小寫的排序。 – StringsOnFire