2
我想擴展SPL ArrayObject,但我遇到了一點麻煩。使用未修飾的ArrayObject的,此代碼的工作:擴展的PHP 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
(
)
)
如何讓我的擴展類使用多維數組需要什麼?