[PHP] CSV ファイルを読み込む

作成日: 2019年10月20日

SplFileObject クラスを使用することで、CSV ファイルを読み込むことができます。下記の例では sample.csv から CSV 形式のデータを読み込み、整形して出力するサンプルです。

sato,11
suzuki,15
tanaka,20
yamada,33
<?php

$file = new SplFileObject('sample.csv');
$file->setFlags(SplFileObject::READ_CSV | SplFileObject::READ_AHEAD | SplFileObject::SKIP_EMPTY | SplFileObject::DROP_NEW_LINE);

foreach($file as $line) {
    echo $line[0] . ': ' . $line[1] . PHP_EOL;
}

説明

  • SplFileObject クラスのコンストラクターに読み込みたい CSV ファイルのパスを指定します。
  • SplFileObject::setFlags メソッドで、どのように CSV ファイルを読み込むのかを制御することができます。ここでは、ファイルを CSV ファイルとして扱い、空行を無視するように 4 つの定数の値の和を渡しています。
  • SplFileObject クラスのインスタンスである $fileforeach 構文を使って行ごとのループ処理を行うことができます。

出力結果

sato: 11
suzuki: 15
tanaka: 20
yamada: 33
PHP