はじめに
PHPでは、CSVファイルの内容を読み込んで配列に格納してくれる「fgetcsv」という関数があります。fgetcsv関数を使うことで簡単にCSVファイルを読み込めます。
本記事では、fgetcsv関数を使ったCSVファイルを読み込む方法について紹介しています。
読み込むCSVファイルの内容は次のとおり。
[sample.csv]
No,名前,年齢,住所
1,山田一郎,30,東京都渋谷区
2,佐藤二郎,25,大阪府大阪市
3,鈴木三郎,22,神奈川県横浜市
4,高橋四郎,18,北海道札幌市
5,斉藤五郎,16,愛知県名古屋市
スポンサーリンク
CSVファイルの読み込み(fgetcsv)
fgetcsv関数でCSVファイルを読み込むには、fopen関数でファイルをオープンし、fgetcsv関数でCSVファイルの内容を読み込む、そして最後にfclose関数でオープンしたファイルを閉じます。
open関数でファイルをオープンするときの第2引数には「モード」を指定します。今回はCSVファイルの読み込みなので "r" を指定しています。
主なモードは次のとおり。
ファイルを開くときのモード | 説明 |
r | 読み込み専用 |
w | 書き出し専用 |
a | 追加書き出し |
fgetcsv関数の例
それでは、実際にPHPのソースコードでfgetcsv関数の使用例を紹介します。
[fgetcsvの使用例]
<?php
// ファイルを開く
$fp = fopen('C:\tmp\sample.csv', 'r');
// 1行ずつ読み込む
while($line = fgetcsv($fp)){
var_dump($line);
echo "<br />";
}
// ファイルを閉じる
fclose($fp);
?>
[実行結果]
array(4) { [0]=> string(2) "No" [1]=> string(6) "名前" [2]=> string(6) "年齢" [3]=> string(6) "住所" }
array(4) { [0]=> string(1) "1" [1]=> string(12) "山田一郎" [2]=> string(2) "30" [3]=> string(18) "東京都渋谷区" }
array(4) { [0]=> string(1) "2" [1]=> string(12) "佐藤二郎" [2]=> string(2) "25" [3]=> string(18) "大阪府大阪市" }
array(4) { [0]=> string(1) "3" [1]=> string(12) "鈴木三郎" [2]=> string(2) "22" [3]=> string(21) "神奈川県横浜市" }
array(4) { [0]=> string(1) "4" [1]=> string(12) "高橋四郎" [2]=> string(2) "18" [3]=> string(18) "北海道札幌市" }
array(4) { [0]=> string(1) "5" [1]=> string(12) "斉藤五郎" [2]=> string(2) "16" [3]=> string(21) "愛知県名古屋市" }
fgetcsv関数を使用することで、簡単に配列に格納できました。
処理の流れは次のとおりです。
処理の流れ
- fopen関数でファイルをオープン
- fgetcsv関数で1行ずつファイルを読み込む ※while文で読み込むデータがなくなるまで繰り返す
- var_dump関数で読み込んだ内容(配列に格納されたデータ)を出力する
- fclose関数でオープンしたファイルを閉じる
helpful
この記事は役に立ちましたか?