CSVに入れたデータをPHPで出力する際に
CSVのセル内に入った項目(テキスト)をPHP内で分解して配列に入れた値の中から新たに判定基準の処理を作り
その判定に沿った結果を配列に加えて出力する処理を行いたいです。
【行いたい処理要約】
①.下記内容のCSVのデータをhtmlファイル上に出力するためにPHPで分解
②.CSVのデータを分解処理で多次元配列($rcd)にしたい(※$rcd[1][3]なら「男」が入ってる)
③.多次元配列の中で「性別」項目の各列の内容に判定処理を作る
④.各行に入ってるデータが「男」ならばデータが入った多次元配列($rcd)の末尾にURL(A)が追加される(※$rcd[1][5]に入る予定)
⑤.各行に「女」ならばデータが入った多次元配列($rcd)の末尾にURL(B)が追加される(※$rcd[2][5]に入る予定)
⑥.さらに別の「年齢」項目の各列の内容に判定処理を作る
⑦.各行に入ってるデータが「20」ならば「文字列A」が追加(※$rcd[1][6]に入る予定)
⑧.各行に「15」ならば「文字列B」が追加(※$rcd[2][6]に入る予定)
⑨.上記処理が行われた多次元配列($rcd)に格納された値をHTMLファイルのソース内に埋め込んでブラウザ出力
【CSVファイルのデータ】
| ID | 名前 | 年齢 | 性別 | 住所 | |001|あああ|20|男|東京都…| |002|いいい|15|女|神奈川県…| ・・・・・
【PHPの処理】
<?php //CSVファイルパス $file = 'data.csv'; //CSVファイル読み込み $buf = file_get_contents($file); //一行毎に分割し配列 $lines = explode("\r\n", $buf); foreach ($lines as $line) { //さらに デリミタ「,」毎に分割して、配列に格納 $rcd[] = explode(',',$line); } ech $rcd; ?>
【出力したいHTMLファイルコード】
<div class="aaa"> <ul> <li>名前:<?php echo $rcd[1][1]; ?></li> <li>年齢:<?php echo $rcd[1][2]; ?></li> <li>性別:<?php echo $rcd[1][3]; ?></li> <li>住所:<?php echo $rcd[1][4]; ?></li> <li><a href="<?php echo $rcd[1][5]; ?>"><img src="<?php echo $rcd[1][6]; ?>.jpg" /></a></li> </ul> </div>
②の多次元配列($rcd)に各データを配列に格納するまではできたのですが、
ここからどのようにして各列に範囲を絞って各行に分岐処理を行えば良いかがわかりません。
わかりにくい内容で大変恐縮ですがご教授お願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/11/12 03:00