3

所以我有一个对象,它包含一组私有数据成员中的对象。我现在可以for通过覆盖and的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 回答