PHP 5.4.36 Released

SplFileObject::next

(PHP 5 >= 5.1.0)

SplFileObject::nextRead next line

Description

public void SplFileObject::next ( void )

Moves ahead to the next line in the file.

Parameters

This function has no parameters.

Return Values

No value is returned.

Examples

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();
}
?>

See Also

add a note add a note

User Contributed Notes 1 note

up
0
Jonnycake
17 days ago
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);
?>
To Top