

プログラミングを勉強していると、CSVファイルのデータを扱いたい場面がよく出てきますよね。
でも、いざコードを書こうとするとエラーが出たり、読めたと思っても文字がぐちゃぐちゃになってしまったりします。
実は、少しの工夫をするだけで、誰でも簡単に解決できるんです。
初心者の方にも分かりやすく、順番に説明していくので安心してくださいね。
この記事ではPHPでCSVを読み込む方法について解説していきます。
PHPでCSVを読み込むのは実はとても簡単


結論から言うと、PHPにはCSVを読み込むための便利な道具が最初から用意されています。
だから、複雑なプログラムを長々と書く必要は全くありません。
たった数行のコードを書くだけで、あっという間にデータを読み込むことができますよ。
具体的に必要な手順は以下の通りです。
- ファイルを開く
- データを一行ずつ読み込む
- ファイルを閉じる

これらを使うと、面倒な処理をPHPが全部代わりにやってくれます。
だから、初心者の方でもすぐに応用できるようになりますよ。
基本の関数fgetcsvの使い方をマスターしよう


この関数は、CSVファイルの中から一行分のデータを取り出して、配列という箱に入れてくれます。
カンマで区切られたデータを自動で切り分けてくれるので、とても便利なんです。
具体的なコードの書き方は以下のようになります。
$file = fopen('data.csv', 'r');
while ($row = fgetcsv($file)) {
var_dump($row);
}
fclose($file);
ポイントは以下の部分です。
- fopenで読み込みモードにしてファイルを開く
- while文を使ってデータがなくなるまで繰り返す
- 最後にfcloseで必ずファイルを閉じる

たったこれだけで、CSVの中身をすべて取り出すことができます。
文字化けの原因とファイルエンコーディング


CSVを読み込むときに多くの人がつまずくのが、この文字化けという問題です。
これは、ファイルを作ったときの文字のルールと、PHPが読み込むときのルールが食い違っているせいで起こります。
特にWindowsのエクセルで作ったCSVファイルは注意が必要です。
よくある文字のルールの種類は以下の通りです。
- UTF-8
- Shift-JIS

一方で、現在のPHPやWebサイトはUTF-8というルールを標準として使っています。
だから、読み込んだデータをPHPのルールに合わせて変換してあげる必要があります。
PHPだけでなく他言語でのデータ処理やファイル操作にも興味がある方は、Pythonの標準ライブラリを解説した以下の記事も参考にしてみてください。Python標準ライブラリとは?よく使う便利な機能を初心者向けに解説最初から用意されている便利な機能を使いこなすことで、より効率的なデータ処理プログラムが書けるようになります。
文字化けを一発で直すmb_convert_variablesの活用


PHPには、文字のルールを変換するためのmb_convert_variablesという強力な道具が用意されています。
これを使えば、配列に入ったデータをまとめて一気にUTF-8に変換できます。
使い方の手順は以下の通りです。
- 普段通りにfgetcsvでデータを読み込む
- 読み込んだ配列をmb_convert_variablesに渡す
- 変換元のルールと変換先のルールを指定する

実際のコードはこんな感じです。
$file = fopen('data.csv', 'r');
while ($row = fgetcsv($file)) {
mb_convert_variables('UTF-8', 'SJIS-win', $row);
var_dump($row);
}
fclose($file);
これで、日本語もしっかりとキレイに表示されるようになります。
よくある疑問を解決するQandA


CSVファイルの中に空行があると、エラーになったり余計なデータが入ったりすることがありますよね。
そんなときは、if文を使って中身をチェックするのが一番簡単です。
読み込んだデータが空でない場合だけ処理をするように工夫しましょう。
よくある質問とその答えをまとめました。
- 空の行を飛ばすには?:配列の最初の要素がnullでないかif文で確認します
- カンマ以外の区切り文字は使える?:fgetcsvの引数でタブなどを指定できます
- 大量のデータを読むと遅い?:SplFileObjectという別の便利な道具を使うと速くなります

エラーが出たときは、一つ一つのデータがどうなっているか確認してみてくださいね。
プログラミングをもっと楽しく学ぶためのおすすめスクール


プログラミングの学習を進めていると、一人では解決できない壁にぶつかることがたくさんあります。
そんなときは、プロの講師に質問できる環境を作ることが上達の最短ルートです。
わからないところで何日も悩むより、サクッと聞いて次に進むほうがモチベーションも保てますよね。
おすすめのプログラミングスクールは以下の通りです。
- DMM WEBCAMP 学習コース
- Skill Hacks
- CodeCamp

プロのサポートを受ければ、一人で悩む時間はぐっと減りますよ。
転職保証付きプログラミングスクール DMM WEBCAMP
Skill Hacks
CodeCamp
PHPでCSVを読み込む方法のまとめ


PHPでCSVを扱うのは、基本の関数と文字化け対策さえ知っていれば怖くありません。
fgetcsvを使って一行ずつデータを読み込み、mb_convert_variablesで文字のルールをUTF-8に変換するだけです。
たったこれだけの工夫で、どんなデータも自由に扱えるようになりますよ。

転職保証付きプログラミングスクール DMM WEBCAMP
Skill Hacks
CodeCamp
PHPをはじめとするプログラミングスキルを基礎から実務レベルまで効率よく習得したい方は、以下のスクール比較もぜひ参考にしてみてください。プログラミングスクールおすすめ比較|初心者が最短でスキル習得できる選び方とは?疑問点をすぐに質問できる環境を選ぶことで、挫折せずに着実にスキルアップできます。
