有没有什么方法可以使用array_merge(),array_pop(),..与ArrayAccess一起使用的函数?
从现在起,我尝试了Iterate接口和__set_state()魔法方法,但都没有成功。
给定的错误:array_replace_recursive() [<a href='function.array-replace-recursive'>function.array-replace-recursive</a>]: Argument #1 is not an array。
仅作为记录,gettype()返回object,is_array()返回false,我使用的是php版本5.3.8
发布于 2012-01-09 19:56:42
很遗憾,我不会。它们只适用于本机数组类型。你必须将它们作为方法添加到你的对象的公共API中,并在那里实现它们,例如如下所示:
class YourClass implements ArrayAccess, Countable
{
public function pop()
{
$lastOffset = $this->count() - 1;
$lastElement = $this->offsetGet($lastOffset);
$this->offsetUnset($lastOffset);
return $lastElement;
}
public function mergeArray(array $array) {
// implement the logic you want
}
// other code …
}https://stackoverflow.com/questions/8788002
复制相似问题