使用多涉及阵列显示显示结果 我正在研究问题库系统,我有问题在表格上显示问题列表。 单击查看表图像 我想这样表明结果: $ QUEST ...

问题描述 投票:0回答:1

我想显示这样的结果:

$question = array{ array { 'question' => 'Question MCQ', 'answer' => array{ 'answer 1', 'answer 2', 'answer 3', 'answer 4', }, 'correct_answer' = 0 }, array { 'question' => 'Question MCA', 'answer' => array{ 'answer 1', 'answer 2', 'answer 3', 'answer 4', }, 'correct_answer' = 2 }, array { 'question' => 'Question True and False', 'answer' => array{ 'True', 'False', }, 'correct_answer' = 1 }, } 即时正在处理的代码是:

GetQueStionById()

$select = $this->select() ->setIntegrityCheck(false) ->from(array('q' => $this->_name), array('questionID', 'questionDesc')); $query = $select->query(); $statement = $query->fetchAll(); return $statement;

  1. GETMCQ()

    $select = $this->select()
            ->setIntegrityCheck(false)
            ->from(array('q' => 'questions'), array('questionID', 'questionDesc'))
            ->join(array('aq' => 'qanswer'), 'q.questionID = aq.questionID')
            ->join(array('a' => 'answers'), 'aq.answerID = a.answerID', array('answerID', 'answerDesc', 'isAnswer'));
    
    $query = $select->query();
    $stamnt = $query->fetchAll();
    return $stamnt;
    
  2. Controller
  3. $getQ = new Questions(); $res = $getQ->getQuestionByID(); $questions = array(); foreach ($res as $que) { $tmp['question'] = $que->questionDesc; $res_ans = $getQ->getMcq(); $index = 0; foreach ($res_ans as $ans) { $tmp['answer'] = $ans->answerDesc; if ($ans->isAnswer == 1) { $tmp['correct_answer'] = $index; } $index++; } array_push($questions, $tmp); } echo "<pre>"; print_r($questions);

  4. 我代码的结果:
  5. 单击查看代码的结果

    
    
    
  6. 对此有帮助吗?预先感谢
  7. 我不明白您想处理什么

    'correct_answer'
  8. ,但是我认为替换您的控制器代码,它应该为您提供帮助(除了字段
'correct_answer'

,但其余的原则将相同)。

$getQ = new Questions(); $res = $getQ->getQuestionByID(); $res_ans = $getQ->getMcq(); $questions = array(); foreach ($res as $que) { $tmp = array(); $tmp['question'] = $que->questionDesc; $index = 0; foreach ($res_ans as $ans) { if ($ans->questionID == $que->questionID){ $tmp['answer'][] = $ans->answerDesc; if ($ans->isAnswer == 1) { $tmp['correct_answer'] = $index; } $index++; } } array_push($questions, $tmp); } echo "<pre>"; print_r($questions); echo "</pre>";
php multidimensional-array zend-framework grouping
1个回答
0
投票

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.