2

这是我的会话数组:

[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 和其他一些方法的信息,但没有成功。

4

1 回答 1

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]);
于 2012-05-31T18:56:51.660 回答