【PHP8.x】SplTempFileObject::getCurrentLine()メソッドの使い方
getCurrentLineメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
getCurrentLineメソッドはSplTempFileObjectクラスに属し、ファイルポインタが現在指している行の内容を取得するメソッドです。SplTempFileObjectは、メモリ上や一時的なファイル操作をオブジェクト指向的に扱うためのクラスであり、このメソッドはその操作の一環として現在の行のデータを参照する際に利用されます。
このメソッドの主な機能は、ファイルポインタを一切移動させずに、その時点での行の内容を文字列として取得することです。通常、ファイルから一行ずつ読み込む関数やメソッドでは、読み込みと同時にファイルポインタが次の行へ移動しますが、getCurrentLineメソッドは現在の位置に留まるため、同じ行のデータを何度でも参照したり、複雑な処理を行う際に非常に便利です。
取得される文字列には、行末の改行文字も含まれます。ファイルが終端に達している場合や、読み込みに失敗した場合には、falseが返されることがあります。システムエンジニアを目指す初心者の方々にとっては、ファイルの読み込み処理を実装する際に、現在の行の内容を保持しつつ、その行に対して複数の操作を行いたい場合などに活用できる、非常に有用なツールとなるでしょう。
構文(syntax)
1<?php 2 3$tempFile = new SplTempFileObject(); 4$tempFile->fwrite("First line of text.\n"); 5$tempFile->fwrite("Second line of text.\n"); 6$tempFile->rewind(); // ファイルポインタを先頭に戻す 7 8$tempFile->fgets(); // 1行目を読み進める 9echo $tempFile->getCurrentLine(); 10 11$tempFile->fgets(); // 2行目を読み進める 12echo $tempFile->getCurrentLine(); 13 14?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
string|false
現在の行を文字列として返します。ファイルポインタがファイルの終端を過ぎた場合は false を返します。