Standard PHP Library(SPL) SplFileObjectクラス編 その2
こんばんは。PHP技術者認定機構の吉政でございます。
PHP技術者認定機構の認定スクールであるヒューマンリソシアにて、私が企画支援している親方こと古庄道明氏による、「PHPer上級者になるために知っておきたいこと」の第20回 『Standard PHP Library(SPL) SplFileObjectクラス編 その2 』が公開されています。
###
前回に引き続きSplFileObjectクラスです。
前回は「こーゆーモンだよ」を、ファイル関数と対比するような感じで見ていただきましたが、
今回は「ファイル関数とは対比がしにくいもの」を見ていきたいと思います。
まずは、これ。
$file_obj = new SplFileObject(ファイル名);
$awk = [];
//$awk = array(); // 古いバージョンのPHPの場合はこちらで
foreach($file_obj as $line) {
$awk[] = $line;
}
var_dump($awk);
foreachによるぶん回し、ですね。
SplFileObject はIterator インタフェースを継承しているために、foreachが使えるようになります。
foreachがどんどんどんどん汎用的になっていきますが、知っていれば結構便利ですね。
iterator(イテレータ)について失念をしてしまった方は、コラム10 イテレータ編あたりからを一度読み返していただくとよいかもしれません。
keyメソッドというのがありまして、SplFileObjectクラスのkeyメソッドは「現在の行番号を取得」できます。
ちょっとコードを見てみましょう。
(この続きは以下をご覧ください)
http://resocia.jp/column/512/