예제 #1
0
 /**
  * Returns original data.
  *
  * @return array|\Traversable
  *
  * @throws DataException
  */
 public function getRaw()
 {
     switch ($this->type) {
         case self::TYPE_ARRAY:
             return $this->data->getArrayCopy();
         case self::TYPE_ITERATOR:
             return $this->data;
         case self::TYPE_AGGREGATE:
             return $this->data->getInnerIterator();
     }
     throw DataException::invalidCollectionData($this->data);
 }
예제 #2
0
<?php

$gen = function () {
    (yield 1);
};
$iter = new IteratorIterator($gen());
$ngen = $iter->getInnerIterator();
var_dump(iterator_to_array($ngen, false));