Массив, определенный из конструкции класса, возвращает 1 в функциях

У меня есть этот код здесь:

class Class_name extends CI_Controller {

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

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

Проблема в том, что $ this-> user возвращает значение 1 вместо фактического массива.
Я пробовал другие имена переменных без удачи.

Что я делаю неправильно?

Питер

1

Решение

У вас просто небольшая опечатка здесь:

print_r($this>user);

измените это на:

print_r($this->user);
3

Другие решения

Вы должны использовать -> в соответствии 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

У вас есть опечатка.

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)
1

 public function index() {
print_r($this->user);
}
0
По вопросам рекламы [email protected]