3

したがって、プライベートデータメンバーにオブジェクトのセットを含むオブジェクトがあります。これで、との関数をforオーバーライドすることでループでループできますが、ループ内でループしたいと思います。count()ArrayObjectoffsetGet($index)foreach

この機能を追加するには、どの機能を最小限に拡張する必要がありますか?

4

2 に答える 2

3

SPLイテレータインターフェイスを使用します。詳細については、http: //uk.php.net/manual/en/class.iterator.phpを参照してください。

于 2012-06-15T12:14:02.400 に答える
2

AFAIKあなたは直接使用することができforeachますArrayObject

$ao = new ArrayObject(array(1, 2, 3, 4));
$res = 0;
foreach($ao as $el) {
    $res += $el;
}
echo 'ArrayObject elements sum: '.$res;

サンプル: http ://codepad.org/uQDGQ03A

于 2012-06-15T12:17:24.567 に答える