でCSVを読み込む方法を書きましたが
待てよ。読み込んだだけじゃ扱いにくいじゃん!ってなって、今回はCSVファイルをパイレーツじゃない、配列に格納してphpで扱いやすくする方法のご紹介です。
前回と同様にサンプルのCSVファイルが無い方は下記からダウンロードしてくださいね。
sample.csvをダウンロードする
早速、方法を!
<?php // csvを変数に格納 $csv = file('sample.csv'); $csv_array = array(); // 行ごとにループ処理してカンマ区切りで連想配列に格納 foreach ($csv as $line) { $csv_array[] = explode(',', $line); } var_dump($csv_array); ?>
ソースの説明を!
「file()」で行ごとに配列に格納して「$csv」変数に入れます。
これだけで良いじゃんと思うけど、CSVにはカンマ区切りの横列も存在するのでこれだとうまくいかない。
それで、「foreach()」を使って1行ごとにカンマ区切りで配列にして「$csv_array」変数に入れています。
ループが終わったら「var_dump()」で連想配列を表示しました。
表示結果
- あべべ26才モントリオール
- 岩城12才安城市
- 斎藤19才埼玉県
- 身内46才西宮市
- 遠藤29才川越市
- モコ12才北本市
これでちゃんとCSVが連想配列に入りました!
この連想配列を利用する時は下記の通り
<?php // 特定の値だけ利用する場合 echo '名前:'.$csv_array[0][0].'年齢:'.$csv_array[0][1].'場所:'.$csv_array[0][2]; // ループして全部表示する場合 foreach($csv_array as $val) { echo '名前:'.$val[0].'年齢:'.$val[1].'場所:'.$val[2].' '; } ?>
これで使いやすい配列になったから、色んな場所で利用できるね!
以上です!
コメント