需要实现ArrayAccess接口中的4个方法:
class FakeArray implements ArrayAccess
{
private $elements;
public function __construct()
{
$this->elements = [];
}
/**
* isset 触发
* @param $offset
* @return bool
*/
public function offsetExists($offset)
{
return isset($this->elements[$offset]);
}
/**
* 获取一个元素时触发
* @param $offset
* @return mixed
*/
public function offsetGet($offset)
{
return $this->elements[$offset];
}
/**
* 设置一个元素时触发
* @param $offset
* @param $value
*/
public function offsetSet($offset,$value)
{
$this->elements[$offset] = $value;
}
/**
* 删除一个元素时触发
* @param $offset
*/
public function offsetUnset($offset)
{
unset($this->elements[$offset]);
}
}