在PHP中使用数组\u walk\u recursive获取对象

在PHP中使用数组\u walk\u recursive获取对象,php,Php,我有一个对象,它实现了IteratorAggregate和ArrayAccess,该对象内部包含一个数组,当访问它时将生成该数组 我想在此对象上使用array\u walk\u recursive,但它似乎不起作用。这似乎是不可能的,因为实现了array\u walk\u recursive,或者我只需要向我的对象添加一个接口。我遗漏了什么?由于数组\u walk\u recursive对数组进行操作,您的对象可能必须实现该接口。抱歉,忘了提及我也实现了ArrayAccess。然后它将工作,除非

我有一个对象,它实现了
IteratorAggregate
ArrayAccess
,该对象内部包含一个数组,当访问它时将生成该数组


我想在此对象上使用
array\u walk\u recursive
,但它似乎不起作用。这似乎是不可能的,因为实现了
array\u walk\u recursive
,或者我只需要向我的对象添加一个接口。我遗漏了什么?

由于
数组\u walk\u recursive
对数组进行操作,您的对象可能必须实现该接口。

抱歉,忘了提及我也实现了ArrayAccess。然后它将工作,除非您的实现中有错误。请记住,要使array\u walk\u recursive工作,offsetGet实现必须返回类的数组或对象。我意识到问题是,当我的数组与我的对象(嵌套)数组混合时,array\u walk\u recursive不工作,至少在我当前的实现中是这样。它可以工作。因此,您可能有幸实现了可遍历和可数。但是大多数PHP数组函数都有点重复使用数组对象。@马里奥:你不能直接实现
Traversable
。它可以通过
Iterator
IteratorAggregate
实现。它还应该与
arrayiiterator