Alter Version
This commit is contained in:
85
vendor/PhpSpreadsheet/Worksheet/Iterator.php
vendored
Normal file
85
vendor/PhpSpreadsheet/Worksheet/Iterator.php
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
<?php
|
||||
|
||||
namespace PhpOffice\PhpSpreadsheet\Worksheet;
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||
|
||||
class Iterator implements \Iterator
|
||||
{
|
||||
/**
|
||||
* Spreadsheet to iterate.
|
||||
*
|
||||
* @var Spreadsheet
|
||||
*/
|
||||
private $subject;
|
||||
|
||||
/**
|
||||
* Current iterator position.
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
private $position = 0;
|
||||
|
||||
/**
|
||||
* Create a new worksheet iterator.
|
||||
*/
|
||||
public function __construct(Spreadsheet $subject)
|
||||
{
|
||||
// Set subject
|
||||
$this->subject = $subject;
|
||||
}
|
||||
|
||||
/**
|
||||
* Destructor.
|
||||
*/
|
||||
public function __destruct()
|
||||
{
|
||||
$this->subject = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Rewind iterator.
|
||||
*/
|
||||
public function rewind(): void
|
||||
{
|
||||
$this->position = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Current Worksheet.
|
||||
*
|
||||
* @return Worksheet
|
||||
*/
|
||||
public function current()
|
||||
{
|
||||
return $this->subject->getSheet($this->position);
|
||||
}
|
||||
|
||||
/**
|
||||
* Current key.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function key()
|
||||
{
|
||||
return $this->position;
|
||||
}
|
||||
|
||||
/**
|
||||
* Next value.
|
||||
*/
|
||||
public function next(): void
|
||||
{
|
||||
++$this->position;
|
||||
}
|
||||
|
||||
/**
|
||||
* Are there more Worksheet instances available?
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function valid()
|
||||
{
|
||||
return $this->position < $this->subject->getSheetCount() && $this->position >= 0;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user