• 締切済み

Perlにおける(もしくはPHP)日付の比較について

Perlにおける(もしくはPHP)日付の比較について csvデータで下記のようなファイルがあります。 ブラウザに表示させる時、古い順に10件ずつ表示させたいと思いますが、初心者なりに調べたのですがどうも分かりません。 こうした場合どういう技術を使うのでしょうか 2010/06/24,りんご,青森 2010/05/10,みかん,和歌山 2010/3/10,もも,山形 お手数をおかけしますがご教授頂ければ幸いです

みんなの回答

回答No.2

2010/3/10は誤植ですか? この場合、ただの文字列なので 日付といっても同じ文字数ならば辞書順が変わるわけではないので substr($_,0,10)の比較で十分ですよ。 3/10が誤植でないとするならsplitで substrの結果を /で分割してあげれば よいだけかと思います。 この場合はsort{}の中で数値として比較することを忘れずに。

jm3atn
質問者

お礼

ありがとうございます。 2010/3/10,もも,山形→2010/03/10,もも,山形 のまちがいです。 すいません、下記の意味が把握できるレベルではないのですが 何か参考書籍かサイトとかありますでしょうか substr($_,0,10) 上記記述によって行まるごといれかわって 2010/3/10,もも,山形 2010/05/10,みかん,和歌山 2010/06/24,りんご,青森 となるという認識でよろしいでしょうか

noname#119957
noname#119957
回答No.1

PHPの方が楽ですね。 CSVを配列に読み込んで、ソートして表示すればよろしいです。 ■配列のソート(PHP) http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k08.htm

jm3atn
質問者

お礼

ありがとうございます 下記のところを使用するということでしょうか csvファイルからは1行ずつ @dataに入れる予定ですがその中で記述するのでしょうか 初心者的質問ですいません。 ■連想配列ソート(昇順) ・連想配列を asort で昇順ソートできる。 $a = array('key1' => 'abc', 'key2' => 'def', 'key3' => 'ghi'); asort($a); foreach ($a as $key => $tmp) { print "<P>$key - $tmp</P>\n"; }

関連するQ&A

専門家に質問してみよう