• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ArrayObject::getIterator()

    (PHP 5, PHP 7)

    Create a new iterator from an ArrayObject instance

    说明

    publicArrayObject::getIterator(void): ArrayIterator

    Create a new iterator from an ArrayObject instance.

    参数

    此函数没有参数。

    返回值

    An iterator from an ArrayObject.

    范例

    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
    
    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