• 締切済み

csvのソーティング

お世話になります。 [データ(sort.csv)] text,text,text,text,200610111010 text,text,text,text,200610111110 text,text,text,text,200610111210 text,text,text,text,200610111310 のようなデータを一番最後の項目(200610111010)で時間ソーティングするプログラムを作成したいのですがうまくいきません。 アドバイスお願いします。

みんなの回答

回答No.3

こんな感じでいかがでしょう? <?php // ファイルオープン $handle = fopen("sort.csv", "r"); // csvファイルを配列$dataに取得 while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $all_data[] = $data; // データを集約 $sort_col[] = $data[4]; // ソート対象のカラムを別に記録する } // ソート前のデータ参照 var_dump($all_data); // $sort_colのデータを使って、$all_dataを昇順にソート(SORT_ASC) array_multisort($sort_col, SORT_ASC, $all_data); // ファイルクローズ fclose($handle); // ソート結果参照 var_dump($all_data); ?>

すると、全ての回答が全文表示されます。
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

どのようにうまくいかないのでしょうか 時間項目が固定長なら特に問題ないと思います。

すると、全ての回答が全文表示されます。
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

一番最後の項目は排他的な値がくるのでしょうか? ダブルかダブらないかでだいぶ書き方が違うと思います。 ダブル場合は2次ソート列が必要になるとおもいますが・・・ ちなみにここでいう「時間ソーティング」というのがよくわかりませんが 単純に文字列で順列にソートすればよいのでしょうか?

すると、全ての回答が全文表示されます。

関連するQ&A