我在控制器的会话变量中存储了一个数组。我想在另一个控制器方法中访问该数组的元素,是否可能?
这里$ result返回一个数组,我已经为codeigniter会话分配了数组。
$result = $this->insert->verify_user($val);
$this->session->set_userdata($result);
return true;
我正在收到像这样的自定义会话数据
$this->session->userdata('id');
但它对我没有任何意义,
当我做var_dump ($this->session->all_userdata());
array
'session_id' => string '585429364de0b70ee3887dfe44c4c8ce' (length=32)
'ip_address' => string '127.0.0.1' (length=9)
'user_agent' => string 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0' (length=72)
'last_activity' => int 1396524445
'user_data' => string '' (length=0)
0 =>
object(stdClass)[17]
public 'id' => string '1' (length=1)
public 'username' => string 'admin' (length=5)
public 'password' => string 'admin' (length=5)
'username' => string 'admin' (length=5)
'password' => string 'admin' (length=5)
答案 0 :(得分:1)
不是codeigniter用户,但似乎您需要在关联数组中设置数据,以便知道要查找的键:
$result = $this->insert->verify_user($val);
$this->session->set_userdata(array('somekey'=>$result));
return true;
$this->session->userdata('somekey')->id;
答案 1 :(得分:1)
在变量中设置session
值,并按数组索引
$data = $this->session->all_userdata();
echo $data[0]->id;