©
本文檔使用 php中文網手册 發布
(PHP 5 >= 5.1.0)
SplFileObject::next — Read next line
Moves ahead to the next line in the file.
此函数没有参数。
没有返回值。
Example #1 SplFileObject::next() example
<?php
// Read through file line by line
$file = new SplFileObject ( "misc.txt" );
while (! $file -> eof ()) {
echo $file -> current ();
$file -> next ();
}
?>
[#1] Jonnycake [2014-12-02 17:53:17]
Quick note when using next(), it appears that you have to already be at the end of the line in order for it to hop to the next one. I realized this while attempting to do a lineCount implementaiton like the following:
<?php
function lineCount($file)
{
$x=0;
while(!$file->eof()) {
$x++;
$file->next();
}
return $x;
}
$file=new SplFileObject("something");
echo lineCount($file);
?>
It ended up in an infinite loop. The solution was to just call fgets()/current() in the loop, although it wasn't being used anywhere so the following works:
<?php
function lineCount($file)
{
$x=0;
while(!$file->eof()) {
$file->current();
$x++;
$file->next();
}
return $x;
}
$file=new SplFileObject("something");
echo lineCount($file);
?>