Пример #1
0
 /**
  * Get the registered iterator instances.
  *
  * @return  array
  */
 public function current()
 {
     $out = parent::current();
     foreach ($out as $key => &$value) {
         if (null === $value) {
             $value = $this->_infos[$key];
         }
     }
     return $out;
 }
Пример #2
0
<?php

$iter1 = new ArrayIterator(array(1, 2, 3));
$iter2 = new ArrayIterator(array(1, 2));
$iter3 = new ArrayIterator(array(new stdClass(), "string", 3));
$m = new MultipleIterator();
echo "-- Default flags, no iterators --\n";
foreach ($m as $value) {
    var_dump($value);
}
var_dump($m->current());
$m->attachIterator($iter1);
$m->attachIterator($iter2);
$m->attachIterator($iter3);
echo "-- Default flags, MultipleIterator::MIT_NEED_ALL | MultipleIterator::MIT_KEYS_NUMERIC --\n";
var_dump($m->getFlags() === (MultipleIterator::MIT_NEED_ALL | MultipleIterator::MIT_KEYS_NUMERIC));
foreach ($m as $key => $value) {
    var_dump($key, $value);
}
try {
    $m->current();
} catch (RuntimeException $e) {
    echo "RuntimeException thrown: " . $e->getMessage() . "\n";
}
try {
    $m->key();
} catch (RuntimeException $e) {
    echo "RuntimeException thrown: " . $e->getMessage() . "\n";
}
echo "-- Flags = MultipleIterator::MIT_NEED_ANY | MultipleIterator::MIT_KEYS_NUMERIC --\n";
$m->setFlags(MultipleIterator::MIT_NEED_ANY | MultipleIterator::MIT_KEYS_NUMERIC);
Пример #3
0
 function current()
 {
     return call_user_func_array($this->callback, parent::current());
 }