我正在使用我创建的配置文件来存储用户.这肯定不是用于配置的配置,但它是一个非常小的应用程序,我认为这将是一个很好的解决方案.
我的数组看起来像这样:
$config['users'] = array(array('username' => 'username', 'password' => 'password'));
Run Code Online (Sandbox Code Playgroud)
这很好用.我可以快速轻松地检索信息.但是,如果我尝试将新数组(新用户)写入配置文件,我会收到此错误:isset中的非法偏移类型或为空
我正在使用$this->config->item('users', array('username' =>....))哪个似乎不支持数组.
如何将数组写入配置变量?还有另外一种方法吗?
编辑:好的,由于phirschy给出的答案,错误是固定的.我非常确定我可以使用config-> item(),我没有检查手册中的config-> set_item()......但是,它仍然不起作用.这是具体的代码:
$users = $this->config->item('users');
array_push($users, array('username' => $this->input->post('username'), 'password' => $this->input->post('password')));
$this->config->set_item('users', json_encode($users));
echo json_encode($users);
Run Code Online (Sandbox Code Playgroud)
这段代码是通过Ajax调用的,我有一个警告框,看看它是否正确.他们是.正如你所看到的,我已经尝试将它存储为json而不是数组....但这也不起作用.请帮忙?
谢谢
你必须使用'set_item'方法来编写配置项,而不是'item':
$this->config->set_item('item_name', 'item_value');
Run Code Online (Sandbox Code Playgroud)
或者在你的情况下:
$this->config->set_item('users', array(...));
Run Code Online (Sandbox Code Playgroud)