我有一个名为config的数组。我正在尝试在会话中回显数组中的变量。
我试过了:
echo $this->session->userdata('config['item']');
但它不起作用。这里我的语法有什么问题?我打印了我的会话,这些项目都在配置数组中。我也试过了:
echo $this->session->userdata("config['item']");
这次我没有错误,但也没有数据。
答案 0 :(得分:19)
如果config是一个数组。而item是您想从配置中获取的字符串名称
echo $this->session->userdata($config['item']);
或
echo $_SESSION[$config['item']];
如果config是会话内的数组,你应该先得到它。
$tmp = $this->session->userdata('config');
echo $tmp['item'];
或
echo $_SESSION['config']['item']
抱歉我的英文。
答案 1 :(得分:9)
如果要使用会话数组,请使用变量,而不是函数:
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_data'] ['avatar'] = $ avatar一样,只使用一行,只使用CI库。
答案 2 :(得分:0)
总是以这种方式逃避你的字符串:
echo $this->session->userdata('config[\'item\']');