Я хочу использовать ассоциативный массив с итератором PHP:
http://php.net/manual/en/ class.iterator.php
это возможно?
Я определил эти методы:
public function rewind(){
reset($this->_arr);
$this->_position = key($this->_arr);
}
public function current(){
return $this->_arr[$this->_position];
}
public function key(){
return $this->_position;
}
public function next(){
++$this->_position;
}
public function valid(){
return isset($this->_arr[$this->_position]);
}
проблема в том, что он не выполняет итерацию правильно. Я получаю только один элемент.
Я думаю, это из-за ] ++$this->_position
код в методе next(), который не имеет никакого эффекта, потому что _position — это строка (ключ ассоциативного массива).
так как я могу перейти к следующему элементу массива этого типа?