普段はSPLをほとんど使っていない(DBからのファイル出力でIteratorを使ったことがあるくらい)のですが、練習のためにSplFileObjectを使ったCSV処理を書いてみました。 ただそれだけだと面白くないので、SplFileObjectを拡張してcurrent()メソッドにコールバック処理を入れ、配列からオブジェクトに詰め替えつつ、PHP5.4から追加されたCallbackFilterIteratorを使ったバリデーションも試してみました。 サンプルではただforeach()で回してHTMLに出力しているだけですが、実際にはバリデーションで例外をスローして処理を中断したり、current()で取得したオブジェクトをDBに保存するような使い方を想定しています。 PHP5.3からはstr_getcsv()という1行分のCSV文字列を配列に変換する関数が追加され、配列へのコールバック処