で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].'
';
}
?>
これで使いやすい配列になったから、色んな場所で利用できるね!
以上です!







コメント