(PHP 5, PHP 7, PHP 8)
Permite a remoção de elementos, e a modificação de chaves e valores enquanto iterando sobre arrays ou 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
As propriedades de objeto tem sua funcionalidade normal quando acessados via listagem (var_dump, foreach, etc.).
ArrayIterator::ARRAY_AS_PROPS
Itens podem ser acessados como propriedades (leitura e escrita).