考试系统随机出题处理逻辑
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; }
以上是关于考试系统随机出题处理逻辑的主要内容,如果未能解决你的问题,请参考以下文章