我正试图存储一个阵列, 并使用扩展阵列Object 的定制类来操作阵列 。
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行?