php遍历CSV类实例

yipeiwu_com6年前PHP代码库

本文实例讲述了php遍历CSV类。分享给大家供大家参考。具体如下:

<?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程序设计有所帮助。

相关文章

php实现的RSS生成类实例

本文实例讲述了php实现的RSS生成类。分享给大家供大家参考。具体如下: class RSS { var $title; var $link; var $description...

PHP符合PSR编程规范的实例分享

前言 关于开发标准这块,可以说一直都是风格迥异,各家都有各家的玩法,民间更是个人玩个人的。目前我们国内比较出名的几个框架(Yii,Laravel) 都已经支持Composer并且加入了P...

PHP调试的强悍利器之PHPDBG

PHPDBG是一个PHP的SAPI模块,可以在不用修改代码和不影响性能的情况下控制PHP的运行环境。 PHPDBG的目标是成为一个轻量级、强大、易用的PHP调试平台。可以在PHP5.4和...

php可应用于面包屑导航的迭代寻找家谱树实现方法

本文实例讲述了php可应用于面包屑导航的迭代寻找家谱树实现方法。分享给大家供大家参考。具体实现方法如下: <?php echo "<pre>"; $area...

解析thinkphp中的M()与D()方法的区别

D()和M()方法的区别:D和M的区别主要在于M方法不需要创建模型类文件,M方法不会读取模型类,所以默认情况下自动验证是无效的,但是可以通过动态赋值的方式实现而D方法必须有创建模型类。我...