【发布时间】:2010-02-27 19:56:48
【问题描述】:
我正在尝试扩展 SPL ArrayObject,但遇到了一点问题。使用未修改的 ArrayObject,此代码有效:
$a = new ArrayObject();
$a[1][2] = 'abc';
print_r($a);
产生这个输出:
ArrayObject Object
(
[storage:ArrayObject:private] => Array
(
[1] => Array
(
[2] => abc
)
)
)
但是,如果我扩展 ArrayObject 并重载 offsetGet 方法
class ExtendedArray extends ArrayObject {
function offsetGet($i) {
return parent::offsetGet($i);
}
}
$a = new ExtendedArray();
$a[1][2] = 'abc';
print_r($a);
然后它会像这样失败:
ExtendedArray Object
(
[storage:ArrayObject:private] => Array
(
)
)
如何让我的扩展类使用多维数组?
【问题讨论】:
标签: php spl arrayobject