質問

アレイを保存し、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'];
.

出力はボブであり、フレッドではありません。上記4行を変更せずにこれを働くことができる方法はありますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top