rewind($this->ar); } function valid() { return !is_null(key($this->ar)); } function key() { return key($this->ar); } function current() { return current($this->ar); } function next() { next($this->ar); } } $a = array(1, 2, 3); $o = newArrayIterator($a); foreach ($o as $key => $val) { echo "{$key} => {$va}<br/>"; } /*output: 0 => 1 1 => 2 2 => 3 */
<?php // examples of iterators with foreach $o = newArrayIterator(array(1, 2, 3)); $o->rewind(); while ($o->valid()) { $key = $o->key(); $val = $o->current(); // somecode $o->next(); } $o = newArrayIterator(array(1, 2, 3)); foreach ($o as $key => $val) { // somecode }