【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].'
';
}
?>

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

PHP
エンデ・バタロー

フロントエンドエンジニアとして10年目のキャリアを積んでおり、figma、Illustrator、Photoshop、WordPress、HTML、今は亡きXHTML、CSS(scss)、JavaScript(jQuery)、PHPなど使って日々仕事をしています。

仕事で検索する手間を省くためフロントエンド技術に関するブログを書いています。

制作のご依頼やお問い合わせはこちらから連絡お願いします。

エンデ・バタローをフォローする
シェアする
初めてのブログ

コメント

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