PHP迭代器 - 迭代完成时运行函数

Ann*_*nny 5 php arrays oop iterator

我有一个像这样的迭代器:

http://nz.php.net/manual/en/class.iterator.php

我想知道如何实现一个在对象完成迭代时运行的方法.

例如

foreach($objects as $object){
  ...
}
// here it's finished, and I want to automatically do something 
Run Code Online (Sandbox Code Playgroud)

Yos*_*shi 3

扩展迭代器的示例:

class Foo extends ArrayIterator
{
    public function valid() {
        $result = parent::valid();

        if (!$result) {
            echo 'after';
        }

        return $result;
    }
}

$x = new Foo(array(1, 2, 3));

echo 'before';
foreach ($x as $y) {
    echo $y;
}

// output: before123after
Run Code Online (Sandbox Code Playgroud)