Session 代码点火器-打印$Controller->会话而不知道密钥?

Session 代码点火器-打印$Controller->会话而不知道密钥?,session,codeigniter,Session,Codeigniter,而不是执行以下操作: print $this->session->userdata('username'); print $this->session->userdata('email'); print $this->session->userdata('phone'); print $this->session->userdata('fax'); //etc... 有没有办法做类似的事情 foreach($this->session as

而不是执行以下操作:

print $this->session->userdata('username');
print $this->session->userdata('email');
print $this->session->userdata('phone');
print $this->session->userdata('fax');
//etc...
有没有办法做类似的事情

foreach($this->session as $key=>$val) print $key.'-'.$val;
print_r($this->session);
或者有可能做类似的事情吗

foreach($this->session as $key=>$val) print $key.'-'.$val;
print_r($this->session);
我问这个问题的原因是因为我不知道会话密钥是什么,我还希望能够循环使用CI会话值。

您可以这样做

print_r($this->session);
它将返回所有会话的数组。

$this->session当然是一个对象,您可以使用print\r或var\u dump转储它 但我建议使用此选项获取除闪存数据以外的所有会话数据: $sessionArray=$this->session->all\u userdata;

对我来说,将$this->session转换为数组,然后将其转储

        $this->load->library('session'); #load session
        foreach ((array)$this->session as $sess_arr_k => $sess_arr_v)
        {
          "<li>". $sess_arr_k .":<br />". var_dump($arrSessElement) ."</li>";
        }

为我工作。

OP说他还希望能够循环使用CI会话值。因为此时它是一个数组,所以循环应该更容易,即使是递归循环,尽管我相信他需要知道有什么可供他使用。无论如何,这只是另一种方式。啊,我明白了。我不怎么使用强制转换,一个循环的例子可以说明这一点。谢谢。