本文实例讲述了php遍历CSV类。分享给大家供大家参考。具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
<?php
class CSVIterator implements Iterator
{
const ROW_SIZE = 4096;
private $filePointer ;
private $currentElement ;
private $rowCounter ;
private $delimiter ;
public function __construct( $file , $delimiter = ',' )
{
$this ->filePointer = fopen ( $file , 'r' );
$this ->delimiter = $delimiter ;
}
public function rewind ()
{
$this ->rowCounter = 0;
rewind ( $this ->filePointer );
}
public function current()
{
$this ->currentElement = fgetcsv ( $this ->filePointer,self::ROW_SIZE, $this ->delimiter);
$this ->rowCounter++;
return $this ->currentElement;
}
public function key()
{
return $this ->rowCounter;
}
public function next()
{
return ! feof ( $this ->filePointer );
}
public function valid()
{
if ( ! $this ->next() )
{
fclose( $this ->filePointer );
return FALSE;
}
return TRUE;
}
} // end class
?>
|
希望本文所述对大家的php程序设计有所帮助。