PHP 8.3.0 RC 6 available for testing

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.

参见

add a note

User Contributed Notes 1 note

up
2
xzero at elite7hackers dot net
3 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