【PHP8.x】SplTempFileObject::key()メソッドの使い方
keyメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
keyメソッドは、SplTempFileObjectクラスが表す一時ファイルの内容を、一行ずつ反復処理する際に、現在の行番号を取得するメソッドです。
SplTempFileObjectは、メモリ上または一時ファイルとして、動的にデータを保持し、ファイルのように扱うことができるオブジェクトです。このオブジェクトを使用してファイルの内容をループで読み込む際、keyメソッドは現在処理している行が何番目の行であるかを教えてくれます。
このメソッドは、PHPの反復処理の仕組みであるIteratorインターフェースの一部として定義されており、ファイルポインタが指し示している現在の位置を、配列のインデックスのような数値として提供します。具体的には、ファイルの先頭から数えて現在の行が何行目であるかを示す整数値が返されます。
行番号は通常、最初の行が「0」、次の行が「1」というように、0から始まります。ファイルの内容を順に読み進めるたびに、keyメソッドが返す値も増えていきます。
例えば、一時ファイルから特定の条件に合致するデータを見つけ、それがファイル内の何行目にあるのかを知りたい場合などに、このkeyメソッドは非常に役立ちます。これにより、ファイル処理の途中で現在位置を正確に把握し、プログラムのロジックに活用することが可能になります。
構文(syntax)
1<?php 2$tempFile = new SplTempFileObject(); 3$tempFile->fwrite("First record\n"); 4$tempFile->fwrite("Second record\n"); 5$tempFile->rewind(); 6 7// ファイルポインタが指す現在の行番号を取得 8$lineNumber = $tempFile->key(); 9?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
int
SplTempFileObject::key() は、現在のイテレータの位置を示す整数値を返します。