
あいうえお 2000
かきくけこ 2001
さしすせそ 2001
たちつてと 2002
なにぬねの 2003
はひふへほ 2003
まみむめも 2003
↑このように規則正しく並んでいるテキスト(a.txt)があります。それを
<p>2000</p>
<ul>
<li>あいうえお</li>
</ul>
<p>2001</p>
<ul>
<li>かきくけこ</li>
<li>さしすせそ</li>
</ul>
<p>2002</p>
<ul>
<li>たちつてと</li>
</ul>
<p>2003</p>
<ul>
<li>なにぬねの</li>
<li>はひふへほ</li>
<li>まみむめも</li>
</ul>
↑このようにグループごと分けて表示させるにはどうしたらいいでしょうか。
$fp_log = file(a.txt);
for ($i=0; $i<count($fp_log); $i++) {
list($desc,$year) = explode(" ", $fp_log[$i]);
この部分。
}//for
教えてください。よろしくお願いします。
No.2ベストアンサー
- 回答日時:
年度で規則正しく並んでいるのなら
$fp_log = file('a.txt');
$y='';
for ($i=0; $i<count($fp_log); $i++) {
list($desc,$year) = explode(" ", $fp_log[$i]);
if ($year!=$y) {
if($i>0){
echo "</ul>\n";
}
echo "<p>$year</p><ul>\n";
}
echo "<li>$desc</li>\n";
$y=$year;
}
echo "</ul>\n";
No.1
- 回答日時:
この部分、だけじゃ無理じゃないですかね。
一度配列に読み込んで、整理してから出力する必要があります。例えば、連想配列の$arrを用意しておき、
$fp_log = file(a.txt);
for ($i=0; $i<count($fp_log); $i++) {
list($desc,$year) = explode(" ", $fp_log[$i]);
array_push($arr[$year], $desc); // $arr = array( "2007" => array("あいうえお","かきくけこ",,,,,);になります
}
foreach($arr as $key=>$val){
echo "<p>{$key}</p>\n<ul>\n";
foreach($val as $desc){
echo "<li>{$desc}</li>\n";
}
echo "</ul>\n";
}
こんな感じですかね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- HTML・CSS インラインブロックの中のテキストを上下中央に合わせたい 1 2022/12/24 17:46
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- HTML・CSS HTML & CSS 縦ボックス内の文字の左右センタリング 3 2023/03/25 04:23
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- Perl RSSにdiv,ul classを付けたいのですがどのようにつけるのかわからないです 2 2022/03/28 01:53
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- その他(プログラミング・Web制作) どうしてもエラーが解決できません。 1 2022/07/23 04:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
foreachとかの勝手な省略?
-
SELECT 使用時の bindValue の...
-
C言語の配列をPush(追加)する...
-
NGワード設定もしくはテキス...
-
PHP多次元配列で重複チェック
-
Resource id #3 と表示されま...
-
複数行のデータのPOST処理に関して
-
バイナリファイルの内容を、そ...
-
PHPでCSVを出力するさいに、ル...
-
$_SESSIONに二次元配列を使える...
-
特定の文からメールアドレスの...
-
自動で番号を振りたい
-
プルダウンメニューにDBの内容...
-
cakephpでのトランザクション処...
-
ExcelVBAのチェックボックスに...
-
reallocの使い方について
-
ヒアドキュメントの中のfor文
-
PHPでgrepする件について
-
行数が30万件ほどあるCSVから、...
-
【PHP】配列内のある値以上をカ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マッチング処理(1:N)
-
Excel VBAでフィルター後の対象...
-
foreachで上限回数指定方法また...
-
3つの連想配列を交互に代入し...
-
Smartyでインクリメント
-
sqlのデーターを『あ行』『か行...
-
POSTで渡されるデータの数がわ...
-
foerachの中でキーを足したり、...
-
foreachで配列を、左から縦3列...
-
foreachの間にテーブルの<TR>を...
-
リストボックス複数選択抽出方法
-
textより$$にはさまれた文字列...
-
判定の仕方
-
プログラムの改良
-
forを使わずにforeach文のみで...
-
元号の表示
-
Mac トロイの木馬”Flashback"に...
-
pdfファイルの複数添付 引数の型
-
Delphi XEの警告文を消したい
-
Arduino 全部のピンをチェック...
おすすめ情報