(PHP 5, PHP 7, PHP 8)
ArrayObject::getIterator — Create a new iterator from an ArrayObject instance
Create a new Iterator (default is ArrayIterator ) from an ArrayObject instance.
This function has no parameters.
An iterator from an ArrayObject .
Example #1 ArrayObject::getIterator() example
<?php
$array = [
'1' => 'one',
'2' => 'two',
'3' => 'three',
];
$arrayobject = new ArrayObject($array);
$iterator = $arrayobject->getIterator();
while ($iterator->valid()) {
echo $iterator->key() . ' => ' . $iterator->current() . "\n";
$iterator->next();
}
?>
The above example will output:
1 => one 2 => two 3 => three
ArrayObject iterator class requires a child of ArrayObject or ArrayIterator
<?php
class MyIterator implements Iterator {
public
function __construct(ArrayObject $array, $flags = 0) {
// ...
}
public
function current() {
// ..
}
public
function next() {
// ..
}
public
function key() {
// ..
}
public
function valid() {
// ..
}
public
function rewind() {
// ..
}
}
$obj = new ArrayObject(array(), 0, 'MyIterator');
$obj->getIterator();
?>
PHP Fatal error: ArrayObject::getIterator(): Internal compiler error, Class is not child of ArrayObject or ArrayIterator in php shell code on line 1