我阅读了很多关于ArrayAccess
PHP 接口的过去问题以及offsetGet
可以返回参考的方法。我有一个简单的类实现这个接口,它包装了一个类型的变量array
。该offsetGet
方法返回一个引用,但是我收到一条错误消息Only variable references should be returned by reference
。为什么?
class My_Class implements ArrayAccess {
private $data = array();
...
public function &offsetGet($offset) {
return isset( $this->data[ $offset ] ) ? $this->data[ $offset ] : null;
}
...
}
我希望能够在此类中使用多维数组:
$myclass = new My_Class();
$myclass['test'] = array();
$myclass['test']['test2'] = array();
$myclass['test']['test2'][] = 'my string';