【PHP】CSVを読み込み「配列」に格納する方法

この記事は約2分で読めます。
広告

前回の記事で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].'
';
}
?>

これで使いやすい配列になったから、色んな場所で利用できるね!
以上です!

SNSフォローボタン
エンデ・バタローをフォローする
PHP

東京に住み始めて4年目。

前は神戸に。その前は名古屋に住んでいました。

ある年の冬、車で島根県へ旅行に出かけました。
同県の山中にある寒村をゆるゆると走っていると地面が凍結しており
車ごと川に滑り落ちそうになった経験を持つ30才(男)です。

フロントエンドを始めて4年目になります。
エディタはAtomを利用して、日々の業務でイラレとフォトショ、HTMLとCSSとjavascriptとphpを使用してます。
仕事をしていて、検索する手間を省くためフロント技術ブログを書いています。

エンデ・バタローをフォローする
広告
初めてのブログ

コメント

タイトルとURLをコピーしました