配列を格納し、ArrayObject を拡張するカスタム クラスを使用してその配列を操作しようとしています。
class MyArrayObject extends ArrayObject {
protected $data = array();
public function offsetGet($name) {
return $this->data[$name];
}
public function offsetSet($name, $value) {
$this->data[$name] = $value;
}
public function offsetExists($name) {
return isset($this->data[$name]);
}
public function offsetUnset($name) {
unset($this->data[$name]);
}
}
問題は、私がこれを行う場合です:
$foo = new MyArrayObject();
$foo['blah'] = array('name' => 'bob');
$foo['blah']['name'] = 'fred';
echo $foo['blah']['name'];
出力は bob で、fred ではありません。上記の4行を変更せずにこれを機能させる方法はありますか?