- 締切済み
前後のデータ
お世話になります。 先日、「外部テキストに保存されているデータを読み込んで、任意のデータで並べ替えたいです。」と言う質問をさせて頂き、結果を得ることが出来たのですが、次のステップで又行き詰まってしまいました。 今度は、前の人と次の人を取得してリンクで繋ぎたいです。 宜しくお願いします。 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> } ------------------------------------------------------------------
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
例がわるい 今のままだと同じデータが羅列されているので 前も次もないでしょう。 実際、名前がユニークなのか同じ名前が出現するかによって 前や次をどうするかはダイブ処理がことなるでしょう。 仕様はもっと明確に とりあえず感想としては、配列なのだから、前と次は 今のキーに1引いたり、足したりすればいいだけだと思うけど
補足
申し訳ありませんでした。 自分自身で考えてみてデータファイルから根本的に手直ししないと無理っぽかったので、手直ししてるところです。 回答ありがとうございました。