2
我想存儲一個數組並使用擴展ArrayObject的自定義類來操作該數組。使用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而不是弗雷德。有沒有什麼辦法可以在不改變上述四條線的情況下工作?
這問題是數組存儲作爲對象,所以如果我設定的值的陣列,那麼我之前調用'指定者()'循環他們。 – fire
@fire實現迭代器和可數嗎? – madflow