ArrayObject::getIterator

(PHP 5, PHP 7, PHP 8)

ArrayObject::getIteratorCreate a new iterator from an ArrayObject instance

说明

public ArrayObject::getIterator ( ) : ArrayIterator

Create a new iterator from an ArrayObject instance.

参数

此函数没有参数。

返回值

An iterator from an ArrayObject.

范例

Example #1 ArrayObject::getIterator() example

<?php
$array 
= 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();
}
?>

以上例程会输出:

1 => one
2 => two
3 => three

User Contributed Notes

doug at centraldesktop 07-Nov-2013 10:10
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