在Codeigniter中取消设置会话数组值

时间:2012-05-31 18:48:00

标签: php codeigniter

这是我的会话数组:

[inactivefilter] => Array
    (
        [0] => add
        [1] => new
    )

[filter] => Array
    (
        [0] => new
    )

'添加'和'新'由用户动态生成。

我目前将数组的值发送给我的控制器,然后停留在模型应该做的事情上。

    public function clear_filter()
    {
        $i = $this->input->post('filtervalue');
        $this->thread_model->clear_filter($i);
    }

$i等于他们点击的任何值。因此,如果他们点击了“添加”$i = add

我需要根据$ i的值来取消设置activefilter和filter。有没有简单的方法呢?

我已经阅读过有关array_splice,array_diff和其他一些方法,但没有成功。

1 个答案:

答案 0 :(得分:4)

使用codeigniter会话:

$filter = $this->session->userdata('filter');
$index = array_search($i, $filter);
unset($filter[$index]);
$this->session->set_userdata('filter', $filter);

使用php会话:

$index = array_search($i, $_SESSION['filter']);
unset($_SESSION['filter'][$index]);