Standard PHP Library(SPL) SplFileObjectクラス編 その2
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
ヒューマンリソシア株式会社はコラム「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メソッドは「現在の行番号を取得」できます。
ちょっとコードを見てみましょう。
$file_obj = new SplFileObject(ファイル名);
$awk = [];
//$awk = array(); // 古いバージョンのPHPの場合はこちらで
foreach($file_obj as $line) {
$awk[] = ‘line ‘ . $file_obj->key() . ‘: ‘ . $line;
}
var_dump($awk);
この続きは以下をご覧ください
http://resocia.jp/column/512/
ソーシャルもやってます!