• 締切済み

前後のデータ

お世話になります。 先日、「外部テキストに保存されているデータを読み込んで、任意のデータで並べ替えたいです。」と言う質問をさせて頂き、結果を得ることが出来たのですが、次のステップで又行き詰まってしまいました。 今度は、前の人と次の人を取得してリンクで繋ぎたいです。 宜しくお願いします。 data.txtには、次の様なデータが格納されてます。 namae<>なまえ<>23<>2008/04/01<> namae<>なまえ<>23<>2008/04/01<> namae<>なまえ<>23<>2008/04/01<> ------------------------------------------------------------------ /* 名前比較用の関数 */ function namecmp($a, $b) {  return strcmp($a[1], $b[1]); } $list = file("data.txt"); foreach ($list as $line) {  // 一度配列に格納  $arr[] = explode("<>", $line); } // ソート usort($arr, "namecmp"); for($i = 0; $i < count($arr); $i++) {  list($data01, $data02, $data03, $data04) = $arr[$i];  print $data02 . ":" . $data04 . "<br>\n";  print "<a href=\"前の人の".$data01.".html\"></a>  print "<a href=\"次の人の".$data01.".html\"></a> } ------------------------------------------------------------------

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

例がわるい 今のままだと同じデータが羅列されているので 前も次もないでしょう。 実際、名前がユニークなのか同じ名前が出現するかによって 前や次をどうするかはダイブ処理がことなるでしょう。 仕様はもっと明確に とりあえず感想としては、配列なのだから、前と次は 今のキーに1引いたり、足したりすればいいだけだと思うけど

noname#227352
質問者

補足

申し訳ありませんでした。 自分自身で考えてみてデータファイルから根本的に手直ししないと無理っぽかったので、手直ししてるところです。 回答ありがとうございました。

関連するQ&A