ArrayAccess
PHPインターフェースに関する過去の質問をたくさん読みましたが、それoffsetGet
は参照を返すことができるメソッドです。type の変数をラップするこのインターフェイスを実装する単純なクラスがあります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';