SplFileObject::key
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
SplFileObject::key — 行番号を取得する
説明
現在の行番号を取得します。
注意:
固定長のファイルを読み込むのに SplFileObject::setMaxLineLen() が使われている場合 この数はファイルの実際の行番号を反映しない可能性があります。
パラメータ
この関数にはパラメータはありません。
戻り値
現在の行番号を返します。
例
例1 SplFileObject::key() の例
<?php
$file = new SplFileObject("lipsum.txt");
foreach ($file as $line) {
echo $file->key() . ". " . $line;
}
?>
上の例の出力は、 たとえば以下のようになります。
0. Lorem ipsum dolor sit amet, consectetur adipiscing elit. 1. Duis nec sapien felis, ac sodales nisl. 2. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
例2 SplFileObject::setMaxLineLen() による SplFileObject::key() の例
<?php
$file = new SplFileObject("lipsum.txt");
$file->setMaxLineLen(20);
foreach ($file as $line) {
echo $file->key() . ". " . $line . "\n";
}
?>
上の例の出力は、 たとえば以下のようになります。
0. Lorem ipsum dolor s 1. it amet, consectetu 2. r adipiscing elit. 3. 4. Duis nec sapien fel 5. is, ac sodales nisl 6. . 7. Lorem ipsum dolor s 8. it amet, consectetu 9. r adipiscing elit.
参考
- SplFileObject::current() - ファイルの現在の行を取得する
- SplFileObject::seek() - ファイルポインタを指定行に移動させる
- SplFileObject::next() - 次の行を読み出す
- SplFileObject::rewind() - ファイルポインタを先頭に巻き戻す
- SplFileObject::valid() - ファイル終端でないかチェックする
+add a note
User Contributed Notes 1 note
xzero at elite7hackers dot net ¶
4 years ago
Another gotcha that is not mentioned: If you have flag SKIP_EMPTY set, then key() will not reflect actual line numbers as empty lines are not accounted.
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google