CSVデータを読み込んだ2次元配列を複数の列をキーにソート

| コメント(0) | トラックバック(0)

今日、PHPで、「CSVデータを読み込んだ2次元配列を、2列~3列をキーにソート」するのに約2時間はまっていたので、今後のためにもメモしときます。

CSVファイルを2次元配列にする(PHP)」は以前に書きました。そいつで読み込んだものを特定の列でソートする方法です。複数列をキーにしてのソートも可能。同じことでお悩みの方のお役にたてれば。

例:$Record[$i][0]を最優先のキー列とし、$Record[$i][1]、$Record[$i][2]の順にソートする

function cmp($a, $b) {

     // 最優先の列をキーに比較
     $result = $a[0] - $b[0];

     if ($result == 0) {     // もし同じ値なら

         $result = $a[1] - $b[1];
     }

     if ($result == 0) {     // もし同じ値なら
         // 2番目の列で比較。
         $result = $a[2] - $b[2];
     }

     return $result;
 }

usort($Record, "cmp");

トラックバック(0)

トラックバックURL: http://www.comachi.com/cgi/mt/mt-tb.cgi/197

コメントする

このブログ記事について

このページは、koz*が2006年3月16日 15:12に書いたブログ記事です。

ひとつ前のブログ記事は「引越しシーズンとインターネット」です。

次のブログ記事は「リストタグ ul、olのmarginやpaddingがブラウザによって違う」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。