2024 年日本 PHP 研討會

SplFileObject::key

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

SplFileObject::key取得行號

說明

public SplFileObject::key(): int

取得目前的行號。

注意事項:

如果使用 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::key() 搭配 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 則註解

xzero at elite7hackers dot net
4 年前
另一個未提及的陷阱:如果您設定了 SKIP_EMPTY 旗標,則 key() 將不會反映實際的行號,因為空行不會被計算在內。
To Top