相关疑难解决方法(0)

ArrayAccess多维(un)设置?

我有一个类实现ArrayAccess,我试图让它与多维数组一起工作.existsget工作.set并且unset给我一个问题.

class ArrayTest implements ArrayAccess {
    private $_arr = array(
        'test' => array(
            'bar' => 1,
            'baz' => 2
        )
    );

    public function offsetExists($name) {
        return isset($this->_arr[$name]);
    }

    public function offsetSet($name, $value) {
        $this->_arr[$name] = $value;
    }

    public function offsetGet($name) {
        return $this->_arr[$name];
    }

    public function offsetUnset($name) {
        unset($this->_arr[$name]);
    }
}

$arrTest = new ArrayTest();


isset($arrTest['test']['bar']);  // Returns TRUE

echo $arrTest['test']['baz'];    // Echo's 2

unset($arrTest['test']['bar'];   // Error
$arrTest['test']['bar'] = 5; …
Run Code Online (Sandbox Code Playgroud)

php arrays interface multidimensional-array

16
推荐指数
2
解决办法
4607
查看次数

标签 统计

arrays ×1

interface ×1

multidimensional-array ×1

php ×1