实现什么接口,使对象的行为类似于数组

时间:2017-02-17 21:15:09

标签: php arrays

我有一个Collection类,它在内部将数据保存为数组。

class Collection implements \IteratorAggregate, \Countable, \ArrayAccess
{
...
}

在代码的某个时刻,正在发生以下事情

$list = new Collection([]);

array_map(function(Object $v){ return $v->getKey(); }, $list);

我认为实现ArrayAccess应该足以使对象表现得像一个数组。在这种情况下,我有其他实现aS井,但显然PHP使用一些其他机制来检测传递的参数是否是一个数组,因为我得到了

array_map(): Argument #2 should be an array

0 个答案:

没有答案