Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 4.1.x will end 13 November 2023 (12 months).
  • Bug fixes for security issues in 4.1.x will end 10 November 2025 (36 months).
  • PHP version: minimum PHP 7.4.0 Note: minimum PHP version has increased since Moodle 4.0. PHP 8.0.x is supported too.
<?php

namespace Box\Spout\Reader\CSV;

use Box\Spout\Reader\IteratorInterface;

/**
 * Class SheetIterator
 * Iterate over CSV unique "sheet".
 */
class SheetIterator implements IteratorInterface
{
< /** @var \Box\Spout\Reader\CSV\Sheet The CSV unique "sheet" */
> /** @var Sheet The CSV unique "sheet" */
protected $sheet; /** @var bool Whether the unique "sheet" has already been read */ protected $hasReadUniqueSheet = false; /** * @param Sheet $sheet Corresponding unique sheet */ public function __construct($sheet) { $this->sheet = $sheet; } /** * Rewind the Iterator to the first element * @see http://php.net/manual/en/iterator.rewind.php * * @return void */
< public function rewind()
> public function rewind() : void
{ $this->hasReadUniqueSheet = false; } /** * Checks if current position is valid * @see http://php.net/manual/en/iterator.valid.php * * @return bool */
< public function valid()
> public function valid() : bool
{ return (!$this->hasReadUniqueSheet); } /** * Move forward to next element * @see http://php.net/manual/en/iterator.next.php * * @return void */
< public function next()
> public function next() : void
{ $this->hasReadUniqueSheet = true; } /** * Return the current element * @see http://php.net/manual/en/iterator.current.php *
< * @return \Box\Spout\Reader\CSV\Sheet
> * @return Sheet
*/
< public function current()
> public function current() : Sheet
{ return $this->sheet; } /** * Return the key of the current element * @see http://php.net/manual/en/iterator.key.php * * @return int */
< public function key()
> public function key() : int
{ return 1; } /** * Cleans up what was created to iterate over the object. * * @return void */
< public function end()
> public function end() : void
{ // do nothing } }