SplFileObject::key
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
SplFileObject::key — Get line number
说明
Gets the current line number.
注意:
This number may not reflect the actual line number in the file if SplFileObject::setMaxLineLen() is used to read fixed lengths of the file.
参数
此函数没有参数。
返回值
Returns the current line number.
示例
示例 #1 SplFileObject::key() example
<?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::key() example with SplFileObject::setMaxLineLen()
<?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() - Retrieve current line of file
- SplFileObject::seek() - Seek to specified line
- SplFileObject::next() - Read next line
- SplFileObject::rewind() - Rewind the file to the first line
- SplFileObject::valid() - Not at EOF
+添加备注
用户贡献的备注 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.