詳細は次のとおりです:
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 |
クラス CSSVIterator は Iterator を実装します { const ROW_SIZE = 4096; プライベート $filePointer; プライベート $currentElement; プライベート $rowCounter; プライベート $区切り文字; パブリック関数 __construct( $file, $delimiter = ',' ) { $this->filePointer = fopen( $file, 'r' ); $this->区切り文字 = $区切り文字; } パブリック関数 rewind() { $this->rowCounter = 0; rewind( $this->filePointer ); } パブリック関数 current() { $this->currentElement = fgetcsv($this->filePointer,self::ROW_SIZE,$this->delimiter); $this->rowCounter++; $this->currentElementを返す; } 公開ファンクションキー() { return $this->rowCounter; } パブリック関数 next() { return !feof( $this->filePointer ); } パブリック関数 valid() { if( !$this->next() ) { fclose( $this->filePointer ); FALSEを返す; } TRUEを返す; } } // 授業を終了します ?> |