php - 如何在 codeigniter 的 session 中设置数组?

标签 php arrays codeigniter

我在 session 中设置数组时有点吃力。

这是我的代码:-

Controller :

function taketest(){
    $this->load->model('', '');
    $questions_for_test = $this->session->userdata('questions_for_test');
    $difficulty_level = $this->session->userdata('difficulty_level');
    $question_id = $this->session->userdata('question_id');
    if($question_id==""){
        $question_id = $this->myjcat->returnRandomQuestion($questions_for_test,$difficulty_level);
        $this->session->set_userdata('question_id',$question_id);
    }
    $question_details = $this->myjcat->getQuestion($question_id);
}

型号:

function returnRandomQuestion($questions_for_test, $difficulty_level){
    $question_id = array_rand($questions_for_test[$difficulty_level], 1);
    $used_question=array();
    $used_questions=$questions_for_test[$difficulty_level][$question_id];
    $this->session->set_userdata('used_questions',$used_questions);
    return $questions_for_test[$difficulty_level][$question_id];
}

但是当我打电话时:

$used_questions = $this->session->userdata('used_questions');

在 Controller 中 在 Controller 中它不会返回一个数组。它给我存储在其中的最后一个值。

最佳答案

我可能误读了一些东西,但看起来你只存储了一个值。

// this code:
$used_questions=$questions_for_test[$difficulty_level][$question_id];
$this->session->set_userdata('used_questions',$used_questions);

// is the same as this code
$this->session->set_userdata('used_questions',$questions_for_test[$difficulty_level][$question_id]);

您可能正在寻找这个:

// fetch the stored copy first.
$used_questions = $this->session->userdata('used_questions');
if(!is_array($used_questions)) $used_questions = array();
// note the []
$used_questions[] = $questions_for_test[$difficulty_level][$question_id];
$this->session->set_userdata('used_questions',$used_questions);

关于php - 如何在 codeigniter 的 session 中设置数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19367534/

相关文章:

php - 在单页上禁用 Wordpress Yoast SEO

php - Symfony2 将所有 url 路由到同一个 Controller

php - "Break"使用 PHP 的一组带有 H2 的列表项

php - 修改并添加到 MySQL 结果

c++ - 汇编如何做参数传递: by value,引用,不同类型/数组的指针?

arrays - 函数并返回 const char*

python - 你如何创建一个 numpy 垂直排列?

jQuery 提交错误的表单数据

php - Active Record 查询中的 Codeigniter 括号

mysql - 使用 OR 选择多行