2011-08-20 15 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 - グーグルで見つけることができるものがたくさんあります。 SOGに重複を表示することは、LMGTFYタイプのコメントよりもはるかに好ましいことです。 :) –

+0

@ Jared Farrish - だから、簡単な質問です。私はPHPの知識なしでGoogleで答えを見つける – TheHorse

答えて

20

この形式の日付では、アルファベット順の比較はうまくいきます。 PHP関数ksortを使用してください。コードの

ksort($arr); 
+2

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

+0

あなたの答えをお寄せいただきありがとうございます。ksortはキーで配列をソートしますが、ここのキーは日付であり、ksortは配列を順番に並べ替えません。私はキーを有効な日付形式に変換してからksortを実行する必要がありますが、それを行うと残りのコードに影響が出ます。助言がありますか?? – bharath

+1

@bharath - あなたの日付はYEAR MONTH DAYの順です。つまり、通常の並べ替えを使用して並べ替えることができ、短い月と日に '0 'を前置している限り、適切な順序で並べ替えることができます。あなたの "日付"は基本的に、日付に解析できる数字です。 –

4

ちょうどこの一行:

ksort($arr); 
関連する問題