从 class 定义的数组在函数中构造 returns 1
Array defined from class construct returns 1 in functions
我这里有这段代码:
class Class_name extends CI_Controller {
function __construct()
{
parent::__construct();
$this->user = array("value"=>"test");
}
public function index() {
print_r($this>user);
}
}
问题是 $this->user returns 为 1 而不是实际数组。
我试过其他变量名,但没有成功。
我做错了什么?
彼得
你这里有一点错别字:
print_r($this>user);
改为:
print_r($this->user);
你打错了。
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 中,对象 'greater' 而不是字符串:
var_dump(new stdClass > 'foo');
# bool(true)
您应该在 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);
}
}
public function index() {
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);
}
}
问题是 $this->user returns 为 1 而不是实际数组。 我试过其他变量名,但没有成功。
我做错了什么?
彼得
你这里有一点错别字:
print_r($this>user);
改为:
print_r($this->user);
你打错了。
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 中,对象 'greater' 而不是字符串:
var_dump(new stdClass > 'foo');
# bool(true)
您应该在 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);
}
}
public function index() {
print_r($this->user);
}