如何在类中访问和修改数组?

时间:2013-02-23 05:22:11

标签: php class

我在类中遇到数组问题。我可以访问它,如果我将它设置为静态但我无法弄清楚如何修改它并在我的函数上访问它,如果它不是静态的。

class Example {
    protected static $_arr = array(
        "count",
    );

    public static function run($tree) {
        $_arr[] = "new";
        print_r($_arr );
    }
}

如何访问阵列,修改它并从我的公共功能“run”中打印出来?

2 个答案:

答案 0 :(得分:1)

$_arr[] = "new";

指的是一个对你的函数来说是本地的数组。要访问类的静态变量,您必须使用语法==> self::staticVariableName

你的代码应该是:

class Example {
protected static $_arr = array(
    "count",
);

public static function run($tree) {
    self::$_arr[] = "new";
    print_r(self::$_arr );
}

答案 1 :(得分:0)

我刚刚从@MQuirion的代码中做了一个片段。在这里,我写了如何处理类中的非静态属性。我希望你现在可以在课堂上使用你的阵列了。

class Example {
    protected $_arr = array(
        "count",
    );

    public function run($tree) {
        // print new array + your properties
        $this -> _arr[] = $tree;
        //To print only new assigned values without your declared properties
        $this -> _arr = $tree;
        print_r($this->_arr );
    }
}
$obj = new Example();
$tree = array('a','b','c');
$result = $obj->run($tree);