我有一个实现ArrayAccess、Iterator和Countable的对象。这会产生近乎完美的阵列掩蔽。$object[foo]
我可以使用偏移量foreach
(
但是我不能做的是把它交给本机数组迭代器函数(next()
, reset()
, current()
, key()
),即使我已经从 Iterator 实现了所需的方法。PHP 似乎顽固地尝试遍历其成员变量,并且完全无视迭代器方法。
是否有一个接口可以将对象连接到剩余的数组遍历函数,或者我是否坚持我所拥有的?
更新: IteratorAggregate 似乎也不是答案。虽然它在foreach
-loops 中使用,但基本的数组迭代器函数不会调用这些方法。