簡単に変換できる!PHPでCSVファイルを読み込む方法【初心者向け】

プログラミング初心者向けにPHPで書くCSVファイルを読み込む方法について解説しています。とても簡単にCSVファイルの読み込みができるので、書きながら理解しましょう。実際にソースコードを書いて説明しています。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

PHPでCSVファイルを読み込む方法について解説します。

fgetcsvという関数を使って実際に読み込む書き方を説明しているので、自分でも書きながら理解していきましょう。

CSVファイルを使う際に覚えておきたい知識なので、参考にしてみてください。

 

なお本記事は、TechAcademyのPHPオンライン講座の内容をもとにしています。

 

大石ゆかり

田島メンター!CSVのやり方を教えてもらいたいんですけどっ!

田島悠介

CSVは、読み込みと出力のそれぞれ書き方が違うから今回は「読み込み」の方法について説明するね!

大石ゆかり

お願いしまーす!!

 

CSVファイルを読み込む関数「fgetcsv」

PHPでは、CSVファイルを読み込んで配列の形にしてくれる「fgetcsv関数」という関数あります。fgetcsv関数の使い方は以下のとおりです。

fgetcsv($file_handler, $array);

$file_handlerはfopen関数の出力結果です。確認のため、読み込みのためのfopen関数の使い方は、

$file_handler = fopen("読み込むCSVファイルのパス", "r");

です。

fgetcsv関数は、CSVファイルを1行ずつ読み込みます。

 

実際に書いてみよう

では実際にプログラムを書いてみましょう。事前に、以下のように書いた「test.csv」ファイルを作成しておきます。

test.csv
-------------------------------------
名前,年齢,血液型
太郎,21,O
ジョン,23,A
ニキータ,32,AB
次郎,22,B
-------------------------------------

それでは、プログラムを書いてみましょう。

input_csv.php
-------------------------------------
<?php
// 読み込み用にtest.csvを開きます。
$f = fopen("./test.csv", "r");
// test.csvの行を1行ずつ読み込みます。
while($line = fgetcsv($f)){
 // 読み込んだ結果を表示します。
 var_dump($line);
}
// test.csvを閉じます。
fclose($f);
?>
-------------------------------------

簡単にソースコードの説明をします。

最初に読み込みようにtest.csvファイルを開き、while文で1行ずつファイルを読み込みます。読み込んだ結果をvar_dump関数で表示しています。

 

以下、実行結果です。

実行結果
-------------------------------------
array(3) {
 [0]=>
 string(6) "名前"
 [1]=>
 string(6) "年齢"
 [2]=>
 string(9) "血液型"
 }
 array(3) {
 [0]=>
 string(6) "太郎"
 [1]=>
 string(2) "21"
 [2]=>
 string(1) "O"
 }
 array(3) {
 [0]=>
 string(9) "ジョン"
 [1]=>
 string(2) "23"
 [2]=>
 string(1) "A"
 }
 array(3) {
 [0]=>
 string(12) "ニキータ"
 [1]=>
 string(2) "32"
 [2]=>
 string(2) "AB"
 }
 array(3) {
 [0]=>
 string(6) "次郎"
 [1]=>
 string(2) "22"
 [2]=>
 string(1) "B"
}
-------------------------------------

1行ずつ読み込まれて、配列の形になっているのがわかります。

 

[PR] PHPのプログラミングで挫折しない学習方法を動画で公開中

まとめ

fgetcsv関数を利用することで自分で実装するよりも簡単にCSVファイルを展開することができます。

CSVファイルを読み込む場面は多いかと思いますので、ぜひ活用してください。

PHPをさらに勉強したい場合は、PHPで構文チェックを行う方法PHPとHTMLをまとめてコメントアウトする方法についても合わせて読んでみてください。

田島悠介

CSVファイルは自社でサービス運営とかしていたらよく使うと思うから覚えておくと便利だよ〜!

大石ゆかり

そうなんですね!

田島悠介

今回は、CSVファイルをPHPファイルに記述する形だったけど、逆にPHPファイルの中身をCSVファイルとして出力する方法も紹介するから両方覚えてみてね!

大石ゆかり

ありがとうございました♪

 

また、PHPを勉強していて、

  • もっと効率的に勉強したい
  • 誰かに聞きながら学びたい
  • 自分でWebサービスを作りたい

と思ったことはないでしょうか。

 

そんな方のために、TechAcademyではオンラインブートキャンプPHP/Laravelコースを提供しています。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間でオリジナルWebサービスを開発することが可能です。

独学に限界を感じている場合はご検討ください。