Quiero utilizar una matriz asociativa con el iterador PHP:método siguiente iterador de conjunto asociativo
http://php.net/manual/en/class.iterator.php
es posible?
que definen estos métodos:
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]);
}
el problema es que no iterar correctamente. Solo tengo un elemento.
Creo que es por el código ++$this->_position
en el método next() que no tiene ningún efecto porque _position es una cadena (clave de la matriz asociativa).
Entonces, ¿cómo puedo ir al siguiente elemento de este tipo de matriz?
Por curiosidad, ¿por qué no te utilizando una [ ArrayIterator] (http://us.php.net/arrayiterator)? – nickb
¿Puedes mostrar más de tu código? Eso sería a) la parte en la que dices 'clase XYZ implementa Iterator' b) la parte donde (intentas) usarla. – Niko
"Definí estos métodos" - se llama "copiado como está de la documentación" ;-) – zerkms