投稿者 メッセージ
<  PHPプログラミング  ~  日付分け
rom
投稿1時間: 木 9月 06, 2007 1:47 am  引用



登録日: 2007年8月 04日
投稿記事: 4

お久しぶりです。
今回は日付(といっても、日付の計算ではないです)についてお聞きしたいことがあります。
data.txtというファイルに

2007/09/01,あああ
2007/09/01,いいい
2007/09/02,ううう
2007/09/03,えええ
2007/09/03,おおお


というデータがあった時に今のPHPの場合だと
Code:
$database = @fopen('./data.txt',"r");
while(!feof($database)){
   $lines = fgets($database);
   list($dys,$txt) = explode(",",$lines);
   echo "[$dys]\n$txt\n";
}
@fclose($database);

となっているので、結果は

[2007/09/01]
あああ
[2007/09/01]
いいい
[2007/09/02]
ううう
[2007/09/03]
えええ
[2007/09/03]
おおお


となります。
これを

[2007/09/01]
あああ
いいい
[2007/09/02]
ううう
[2007/09/03]
えええ
おおお


とするにはどう工夫したらよいのでしょうか。
トップに移動
ユーザー情報を表示 メッセージを送信
yuya
投稿1時間: 日 9月 23, 2007 12:47 pm  引用



登録日: 2007年9月 23日
投稿記事: 3
所在地: Tokyo

rom wrote:

Code:
$database = @fopen('./data.txt',"r");
while(!feof($database)){
   $lines = fgets($database);
   list($dys,$txt) = explode(",",$lines);
   echo "[$dys]\n$txt\n";
}


日付を連想配列のキー[にして、data.txtの中身を一旦連想配列に落とし込んでから、echoを開始するようにしたらどうでしょうか?
Code:
$array = array();
while(!feof($database)){
   $lines = fgets($database);
   list($dys,$txt) = explode(",",$lines);
   if($array[$dys]]){
   $array[$dys] .= $txt;
   }else{
   $array[$dys] = $txt;
   }
}
foreach($dys as $key => $value){
   echo $key;
   echo $value;
}

_________________
yuya
トップに移動
ユーザー情報を表示 メッセージを送信 メールを送信 AIMアドレス Yahoo メッセンジャー MSN メッセンジャー
特定期間内の記事を表示:   
All times are GMT +9:00

次のトピックを表示
前のトピックを表示
Page 1 of 1
フォーラム一覧  ~  PHPプログラミング

トピックの新規投稿   返信


 
移動先:  

新規投稿: 不可
返信: 不可t
自分の記事の編集: 不可
自分の記事の削除: 不可
投票への参加: 不可




Powered by phpBB
customized by phpspot.