###
前回に引き続き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);
この続きは以下をご覧ください
リンク
御社のプレスリリース・イベント情報を登録するには、ZDNet Japan企業情報センターサービスへのお申し込みをいただく必要がございます。詳しくは以下のページをご覧ください。