从类构造定义的数组在函数中返回1

时间:2015-01-05 10:31:34

标签: php arrays class variables this

我这里有这个代码:

class Class_name extends CI_Controller {

    function __construct()
    {
        parent::__construct();

        $this->user = array("value"=>"test");
    }
    public function index() {
        print_r($this>user);
    }
}

问题是$ this->用户返回1而不是实际数组。 我试过其他变量名但没有运气。

我做错了什么?

彼得

4 个答案:

答案 0 :(得分:3)

你这里有一个小错字:

print_r($this>user);

将其更改为:

print_r($this->user);

答案 1 :(得分:2)

您应该使用->行中的print_r($this>user)
这是编辑过的脚本:

class Class_name extends CI_Controller {

    function __construct()
    {
        parent::__construct();

        $this->user = array("value"=>"test");
    }
    public function index() {
        print_r($this->user);
    }
}

答案 2 :(得分:1)

你有错字。

print_r($this>user);

应该是:

print_r($this->user);

这很好用:

class foo {
    function __construct()
    {
        $this->user = array("value"=>"test");
    }
    public function index() {
        print_r($this->user);
    }
}
$foo= new foo();
$foo->index();
# Results in:
# Array
# (
#     [value] => test
# )

有趣的是,这是因为在PHP中,对象是更大的'比字符串:

var_dump(new stdClass > 'foo');
# bool(true)

答案 3 :(得分:0)

 public function index() {
        print_r($this->user);
    }