2011-08-20 24 views
8

嗨我有一個數組與鍵的日期格式。PHP的 - 排序數組與日期作爲密鑰

$arr = array(

    "20110805" => "2", 
    "20100703" => "5", 
    "20110413" => "3", 
    "20100805" => "4", 
    "20100728" => "6", 
    "20090416" => "7", 
    "20080424" => "8", 
    "20110819" => "1", 
); 

我怎樣才能按鍵排序這個數組。謝謝。

+0

-1谷歌: 「通過按鍵PHP數組排序」 – fresskoma

+1

@TheHorse - 有很多事情可以通過google搜索找到。比起LMGTFY類型的註釋,更希望在SO上顯示重複。 :) –

+0

@Jared Farrish - 那麼這麼簡單的問題。我找到答案在谷歌與出php知識 – TheHorse

回答

20

以這種格式的日期,按字母順序比較就可以正常工作。使用PHP函數ksort

ksort($arr); 
+2

例如:http://codepad.org/5WjP74TR –

+0

嗨,感謝您的回答,ksort會按鍵對數組進行排序,但這裏的關鍵是日期和ksort不按順序對數組進行排序。我需要將鍵轉換爲有效的日期格式,然後執行ksort,但這樣做會影響其餘的代碼。有什麼建議麼?? – bharath

+1

@bharath - 您的日期在年月日訂單中,這意味着您可以使用正常排序方式對它們進行排序,並且它會按照正確的順序進行排序,只要您已將'0'預編輯爲短MONTH和DAY即可。你的「日期」基本上只是一個可以解析成日期的數字。 –

4

只是這一行代碼:

ksort($arr);