PHP CSVを読み込むサンプル (SplFileObject )

PHPのCSVを読み込むサンプルです。
このサンプルでは、SplFileObjectクラスを使用します。

確認環境
・PHP 7.1.8
・XAMPP 7.1.8
・Windows 10

CSVを読み込むサンプル

CSV

読み込むCSVです。
CSVの文字コードはUTF-8です。
2行目は項目がダブルコーテーションで囲まれています。1,3行目はダブルコーテーションで囲まれていません。
3行目の最後に改行があります。

1,赤,red
"2","黄","yellow"
3,青,blue

コード

サンプルのコードです。
2行目は、読み込むファイルを指定しています。(D:¥test1¥111.csv)
4行目は、SplFileObjectを使用しています。
6行目は、定義済み定数のREAD_CSVを指定しています。
→CSVの列として行を読み込みます。
12行目は、以下が出力されます。
Array ( [0] => 1 [1] => 赤 [2] => red ) Array ( [0] => 2 [1] => 黄 [2] => yellow ) Array ( [0] => 3 [1] => 青 [2] => blue )

<?php
$path="D:\\test1\\111.csv";

$file = new SplFileObject($path); 

$file->setFlags(SplFileObject::READ_CSV); 

foreach ($file as $f) {

	$fields[] = $f; 

	print_r($f);
}

print($fields[0][0]); //1
print($fields[0][1]); //赤
print($fields[0][2]); //red

print($fields[1][0]); //2
print($fields[1][1]); //黄
print($fields[1][2]); //yellow

print($fields[2][0]); //3
print($fields[2][1]); //青
print($fields[2][2]); //blue

?>

リンク

以下はPHPマニュアルのSplFileObject クラスのリンクです。
http://php.net/manual/ja/class.splfileobject.php

関連の記事

PHP フォルダ内のファイルの一覧を取得するサンプル(glob)
PHP 外部のphpファイルを読んで評価するサンプル(include/require)
PHP formのsubmitでファイルをアップロードするサンプル
PHP ファイルに書き込むサンプル (fwrite/file_put_contents)

 はまったらエンジニア特化型Q&Aサイト
【teratail(テラテイル)】で質問しましょう!


△上に戻る