(PHP 5, PHP 7)
Este iterator permite remover e modificar valores e chaves quando iterando arrays e objetos.
Quando você quiser iterar o mesmo array múltiplas vezes você precisa instanciar ArrayObject e criar instâncias de ArrayIterator que é consultado usando foreach ou chamando o método getIterator() diretamente.
ArrayIterator::STD_PROP_LIST
Propriedades do objeto mantém sua funcionalidade normal quando acessadas como lista (var_dump, foreach, etc.).
ArrayIterator::ARRAY_AS_PROPS
Elementos podem ser acessados como propriedades (leitura e escrita).