false, "msg" => "生成题库出现严重异常"), JSON_UNESCAPED_UNICODE)); return; } if (empty($q_result->getQuestionArray())) { json_res(json_encode(array("status" => false, "msg" => "生成题库失败,题库为空,请联系管理员添加题目"), JSON_UNESCAPED_UNICODE)); return; } else { foreach ($q_result->getQuestionArray() as $querstion_item) { if ($querstion_item instanceof Question) { $answer_res = new QueryAnswer(); try { DbUtil::query("select * from answer where question_id=? order by rand()", $answer_res, array($querstion_item->getQuestionId())); } catch (Exception $e) { json_res(json_encode(array("status" => false, "msg" => "生成题库出现严重异常,请联系管理员"), JSON_UNESCAPED_UNICODE)); } if (empty($answer_res->getAnswerArray())) { error("无法查询question_id=" . $querstion_item->getQuestionId() . "答案"); json_res(json_encode(array(["status" => false, "msg" => "生成题库失败,请联系管理员"]), JSON_UNESCAPED_UNICODE)); return; } else { $querstion_item->setAnswer($answer_res->getAnswerArray()); foreach ($answer_res->getAnswerArray() as $answer_item) { if ($answer_item instanceof Answer) { if ($answer_item->getIsTrue() == "1") { $querstion_item->setRightAnswer(array_search($answer_item, $answer_res->getAnswerArray())); break; } } else { error("实体类型不匹配" . var_dump($answer_res[0])); json_res(json_encode(array(["status" => false, "msg" => "生成题库失败,请联系管理员"]), JSON_UNESCAPED_UNICODE)); return; } } } } else { error("实体类型不匹配" . var_dump($querstion_item)); json_res(json_encode(array(["status" => false, "msg" => "生成题库失败,请联系管理员"]), JSON_UNESCAPED_UNICODE)); return; } } json_res(json_encode(array("status" => true, "msg" => "成功创建题库,包含" . count($q_result->getQuestionArray()) . "条题目", "result" => $q_result->getQuestionArray()), JSON_UNESCAPED_UNICODE)); }