PHP 8.4.1 Released!

SplFileObject::key

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::keyGet line number

说明

public SplFileObject::key(): int

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.

参见

添加备注

用户贡献的备注 1 note

up
2
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.
To Top