2013-02-27 42 views
0

我想通過幾個關鍵字對以下多維數組進行排序 - 讓我以一種簡單的方式解釋。排序一個多維數組

這是我的多維數組的部分看起來怎麼樣

[template] => Array 
      (
       [0] => Array 
        (
         [KeyA] => 123 
         [KeyB] => ABC 
         [KeyC] => #FFFFF 
         [custom] => Array 
          (
           [0] => Array 
            (
             [value] => bla 
             [var] => 2 
            ) 

           [1] => Array 
            (
             [value] => c1 
             [var] => 5 
            ) 

          ) 

        ) 
      ) 

有噸多維數組的該模板陣列中,我希望他們現在進行排序,例如通過KeyC(#00000第一PRIO,# FFFFFF第二prio,#333333第三prio),然後按KeyA字母。

如何做到這一點?

+2

奇怪的和神祕的邏輯會在'#000000'和'#333333'之間指定'#ffffff'嗎? – Madbreaks 2013-02-27 04:11:09

+0

Posiby重複的問題 http://stackoverflow.com/questions/3511954/php-sorting-object-array-by-certain-criteria – martriay 2013-02-27 04:11:32

+0

是什麼'KeyC'你的排序邏輯? '#000000'>'#FFFFFF'>'#333333'?對我沒有意義 – Raptor 2013-02-27 04:15:58

回答

0

PHP有幾個功能,與分選陣列和後面數組排序的邏輯處理是:

  • 基於數組鍵某種,而另一些由值:$陣列[「鍵」] = '值';

  • 與否的鍵和值之間的相關性被排序之後保持,這可能意味着將密鑰數值復位(0,1,2 ...)

  • 排序的順序:字母,從低到高(升序),高到低(降序),數值,自然,隨機的,或者用戶定義

  • 如果爲相等,則順序是未定義的任何這些排序函數評估兩個部件(在排序不穩定)。

注意:所有這些排序函數直接作用於數組變量本身,而不是返回一個新的排序數組。

排序的主要功能描述http://www.php.net/manual/en/array.sorting.php和創建自定義排序,你必須使自己最適合的技巧。