Maison  >  Article  >  php教程  >  php遍历CSV类实例

php遍历CSV类实例

WBOY
WBOYoriginal
2016-06-13 09:07:10939parcourir

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

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

?>

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn