khanat-code-old/code/web/app/app_achievements/class/NodeIterator_class.php
2012-07-02 18:55:13 +02:00

36 lines
No EOL
728 B
PHP

<?php
class NodeIterator {
/*---------------------------
The NodeIterator can be used just like a foreach() loop to iterate
arrays.
Sample:
$iter = new NodeIterator(array());
while($iter->hasNext()) {
$curr = $iter->getNext();
// ...
}
---------------------------*/
private $nodes;
private $curr;
function NodeIterator(&$nodes) {
$this->nodes = $nodes;
$this->curr = 0;
}
function hasNext() {
$tmp = array_keys($this->nodes);
return isset($this->nodes[$tmp[$this->curr]]);
}
function getNext() {
$tmp = array_keys($this->nodes);
return $this->nodes[$tmp[$this->curr++]];
}
function first() {
$this->curr = 0;
}
}
?>