(PHP 5, PHP 7, PHP 8)
Allows the removal of elements, and the modification of keys or values while iterating over Arrays or Objects.
When you want to iterate over the same array multiple times you need to instantiate ArrayObject and let it create ArrayIterator instances that refer to it either by using foreach or by calling its getIterator() method manually.
ArrayIterator::STD_PROP_LIST
Properties of the object have their normal functionality when accessed as list (var_dump, foreach, etc.).
ArrayIterator::ARRAY_AS_PROPS
Entries can be accessed as properties (read and write).