会话中访问数组变量(CodeIgniter)

会话中访问数组变量(CodeIgniter),codeigniter,Codeigniter,我有一个名为config的数组。我试图在会话中回显数组中的变量 我试过: echo $this->session->userdata('config['item']'); 但它不起作用。我的语法有什么问题?我已经打印了我的会话,并且项目在配置数组中。我也试过: echo $this->session->userdata("config['item']"); 这次我没有收到错误,但也没有数据 始终对字符串进行转义它应该是这样的: echo $this->sess

我有一个名为config的数组。我试图在会话中回显数组中的变量

我试过:

echo $this->session->userdata('config['item']'); 
但它不起作用。我的语法有什么问题?我已经打印了我的会话,并且项目在配置数组中。我也试过:

echo $this->session->userdata("config['item']");

这次我没有收到错误,但也没有数据

始终对字符串进行转义它应该是这样的:

echo $this->session->userdata('config[\'item\']'); 

如果config是一个数组。item是您希望从配置中获取的字符串名称

echo $this->session->userdata($config['item']);

如果config是会话中的一个数组,那么应该首先获取它

$tmp = $this->session->userdata('config');
echo $tmp['item'];


对不起,我说的是英语。

如果要使用会话数组,请使用变量,而不是函数:

echo $this->session->userdata['user_data']['item'];
如果你想写:

$this->session->userdata['user_data']['item'] = 'value';
$this->session->userdata['other_data']['other'] = 'value2';
$this->session->sess_write();

这允许您编辑数组中的值,就像您使用$_SESION['user\u data']['avatar']=$avatar所做的一样,“只”多出一行,并且只使用CI库。

是的,我意识到我有一个引用问题。但是即使我可以打印它,这也不会产生任何数据。那么你必须看看如何访问你的配置变量配置数组在我的userdata中。这两者会发生冲突吗?为什么每次执行
$abc=$this->session->userdata('datauser')时都会得到未定义的索引;echo$abc['ID_NUM']
echo $this->session->userdata['user_data']['item'];
$this->session->userdata['user_data']['item'] = 'value';
$this->session->userdata['other_data']['other'] = 'value2';
$this->session->sess_write();