- 締切済み
CSVファイルからタイトル別一覧表示
CSVファイルからタイトル別一覧表示 PHP初心者です。質問させてください。 以下のようなCSVファイルを読み込み、2列目の値をタイトルに一覧を作りたいのですが ループの中でどのように表記すればよいのでしょうか? 0,アイテム1,りんご 0,アイテム2,さば 1,アイテム1,グレープ 0,アイテム1,バナナ 0,アイテム2,いか <?php $array = file("shopdata.csv"); foreach($array as $line){ $line = explode("," , $line); if($line[0] == "0"){ echo '$line[1]'; echo '<ul>'; echo '<li>'.$line[2].'</li>'; } } ?> </ul> 以下のように表示したいのですが、上記では「$line[1]」もループしてしまい一覧になってしまいます。 アイテム1 <ul> <li>りんご</li> <li>バナナ</li> </ul> アイテム2 <ul> <li>さば</li> <li>いか</li> </ul> このように表示するにはどういった記述をすればいいのでしょうか? ご教示いただけますでしょうか。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
読みこみと表示をわければよいです <?php $handle=fopen("shopdata.csv","r"); while (($data = fgetcsv($handle, 1024, ",")) !== FALSE){ if($data[0] === "0"){ $items[$data[1]][]=$data[2]; } } fclose($handle); foreach($items as $key=>$line){ print "<div>{$key}</div>\n"; print "<ul>\n"; foreach($line as $val){ print "<li>{$val}</li>\n"; } print "</ul>\n"; } ?>