<?php

$a = new AppendIterator();
$a1 = new ArrayIterator([]);
$a2 = new ArrayIterator([1, 2, 3]);
$a->append($a1);
$a->append($a2);
var_dump($a->valid());
var_dump($a->current());
var_dump($a->getIteratorIndex());
// go to the end
for ($a->rewind(); $a->valid(); $a->next()) {
}
$a->append(new ArrayIterator([]));
$a->append(new ArrayIterator([4, 5, 6]));
var_dump($a->valid());
var_dump($a->current());
var_dump($a->getIteratorIndex());
Пример #2
0
 function rewind()
 {
     echo __METHOD__ . "\n";
     parent::rewind();
 }
Пример #3
0
 public function rewind()
 {
     $this->fileIterator->rewind();
     $this->inspectedFiles = array();
     $this->next();
 }
Пример #4
0
 public function rewind()
 {
     $this->key = 0;
     parent::rewind();
 }
Пример #5
0
 function rewind()
 {
     echo __METHOD__ . '; ';
     return parent::rewind();
 }
Пример #6
0
 /**
  * {@inheritdoc}
  */
 public function rewind()
 {
     $this->lazyAppend();
     parent::rewind();
 }
 /**
  * Support for rewinddir().
  *
  * @return bool  always returns true
  * @see http://www.php.net/manual/en/function.rewinddir.php
  * @legacy
  */
 public function dir_rewinddir()
 {
     $this->_subdirectories = array();
     try {
         $this->_directoryIterator->rewind();
     } catch (Services_Amazon_S3_Exception $e) {
         return false;
     }
     return true;
 }
Пример #8
0
 /**
  * Rewinds this iterator
  *
  * @return NULL
  */
 public function rewind()
 {
     $this->inputs->rewind();
     $this->offset = 0;
 }
Пример #9
0
 public function testResultsetAppendIterator()
 {
     if (!$this->_prepareTestMysql()) {
         $this->markTestSkipped("Skipped");
         return;
     }
     // see http://php.net/manual/en/appenditerator.construct.php
     $iterator = new \AppendIterator();
     $robots_first = Robots::find(array('limit' => 2));
     $robots_second = Robots::find(array('limit' => 1, 'offset' => 2));
     $robots_first_0 = $robots_first[0];
     $robots_first_1 = $robots_first[1];
     $robots_second_0 = $robots_second[0];
     $iterator->append($robots_first);
     $iterator->append($robots_second);
     $iterator->rewind();
     $this->assertTrue($iterator->valid());
     $this->assertEquals($iterator->key(), 0);
     $this->assertEquals($iterator->getIteratorIndex(), 0);
     $this->assertEquals(get_class($iterator->current()), 'Robots');
     $this->assertEquals($robots_first_0->name, $iterator->current()->name);
     $iterator->next();
     $this->assertTrue($iterator->valid());
     $this->assertEquals($iterator->key(), 1);
     $this->assertEquals($iterator->getIteratorIndex(), 0);
     $this->assertEquals(get_class($iterator->current()), 'Robots');
     $this->assertEquals($robots_first_1->name, $iterator->current()->name);
     $iterator->next();
     $this->assertTrue($iterator->valid());
     $this->assertEquals($iterator->key(), 0);
     $this->assertEquals($iterator->getIteratorIndex(), 1);
     $this->assertEquals(get_class($iterator->current()), 'Robots');
     $this->assertEquals($robots_second_0->name, $iterator->current()->name);
     $iterator->next();
     $this->assertFalse($iterator->valid());
 }