数组访问和本机 php 数组函数

2022-08-31 01:14:44

有没有办法使用 , , ..函数与 ArrayAccess 一起工作?array_merge()array_pop()

从现在开始,我尝试了界面和神奇的方法,但没有成功。Iterate__set_state()

给出的错误:。array_replace_recursive() [<a href='function.array-replace-recursive'>function.array-replace-recursive</a>]: Argument #1 is not an array

只是一个记录,返回和返回,我是usin php版本5.3.8gettype()objectis_array()false


答案 1

很遗憾,没有。它们仅适用于本机数组类型。您必须将这些方法作为方法添加到对象的公共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 …
}

答案 2