考试系统随机出题处理逻辑

Posted ghjbk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了考试系统随机出题处理逻辑相关的知识,希望对你有一定的参考价值。

 /*
     * 随机处理逻辑
     * */
    private function _Rand($type, $num){
        if (intval($num) <= 0){ return false;}
        $problemArr = ProblemModel::getBaseArr([‘state‘ => 1, ‘type‘ => $type], [‘id‘], [], [‘order‘ => SORT_DESC]);
        $problemArr = array_column($problemArr, ‘id‘);

        $PaperArr = PaperProblemModel::getBaseArr([‘type‘ => $type], [‘problem_id‘]);
        $PaperArr = array_column($PaperArr, ‘problem_id‘);

        $d_count = count($problemArr);
        if ($d_count < $num) { $this->_error(‘数据表选题数量不够‘, []);}

        $Arr = array_diff($problemArr, $PaperArr);
        $count = count($Arr);
        if ($count < $num){
            $return = array_rand($problemArr, $num);
        } else {
            $problemArr = array_unique($Arr);
            $return = array_rand($problemArr, $num);
        }
        $res = [];
        foreach ($return  as $k => $v){
            $res[$k] = $problemArr[$return[$k]];
        }
        return $res;
    }

 

以上是关于考试系统随机出题处理逻辑的主要内容,如果未能解决你的问题,请参考以下文章

考试系统

大一c语言 小学生算数出题系统 的设计与实现?

基于Android驾校理论模拟考试系统APP

Java实验项目二——小学生考试系统(简单四则运算)

基于php011驾照驾驶理论考试模拟系统

scratch加法出题机 电子学会图形化编程scratch等级考试三级真题和答案解析2021-3