2014-12-08 65 views
0

好的,所以我已经搜索了四周,我似乎无法得到答案,我两个数组,一个问题和一个答案,我试图列出每个问题和他们的答案使用嵌套的foreach,它正确列出的问题,但我得到的第一个问题,所有的问题的答案,这里是我的代码:foreach中的两个数组迭代在php中

<?php foreach($questions as $question): ?> 
    <p style="font-weight:bold;"><?=$id?> <?=$question['question']?></p> 
    <?php if($question['type'] == 1): ?> 
     <?php foreach($answers as $id => $answer):?> 
      <input type="radio" name="<?=$answer['ans_id']?>" value="<?=$answer['points']?>"> <?=$answer['answers']?><br /> 
     <?php endforeach; ?> 
    <br /> 
    <?php endif; ?> 
    <hr> 
    <?php $id++; ?> 
<?php endforeach; ?> 

编辑:

这里的阵列的print_r的:

Array 
(
    [id] => 1 
    [quiz_id] => 1 
    [type] => 1 
    [question] => ¿Te enojas facilmente? 
) 
Array 
(
    [ans_id] => 1 
    [question_id] => 1 
    [quiz_id] => 1 
    [answers] => Si, soy impulsivo y explosivo 
    [points] => 1 
) 
Array 
(
    [ans_id] => 2 
    [question_id] => 1 
    [quiz_id] => 1 
    [answers] => No, soy bien pacifico 
    [points] => 5 
) 
Array 
(
    [ans_id] => 3 
    [question_id] => 1 
    [quiz_id] => 1 
    [answers] => No, soy bien pacifico 
    [points] => 5 
) 
Array 
(
    [id] => 2 
    [quiz_id] => 1 
    [type] => 1 
    [question] => ¿Cuantos amigos tienes? 
) 
Array 
(
    [ans_id] => 1 
    [question_id] => 1 
    [quiz_id] => 1 
    [answers] => Si, soy impulsivo y explosivo 
    [points] => 1 
) 
Array 
(
    [ans_id] => 2 
    [question_id] => 1 
    [quiz_id] => 1 
    [answers] => No, soy bien pacifico 
    [points] => 5 
) 
Array 
(
    [ans_id] => 3 
    [question_id] => 1 
    [quiz_id] => 1 
    [answers] => No, soy bien pacifico 
    [points] => 5 
) 
Array 
(
    [id] => 3 
    [quiz_id] => 1 
    [type] => 1 
    [question] => ¿cuantas veces? 
) 
Array 
(
    [ans_id] => 1 
    [question_id] => 1 
    [quiz_id] => 1 
    [answers] => Si, soy impulsivo y explosivo 
    [points] => 1 
) 
Array 
(
    [ans_id] => 2 
    [question_id] => 1 
    [quiz_id] => 1 
    [answers] => No, soy bien pacifico 
    [points] => 5 
) 
Array 
(
    [ans_id] => 3 
    [question_id] => 1 
    [quiz_id] => 1 
    [answers] => No, soy bien pacifico 
    [points] => 5 
) 

任何帮助表示赞赏!

+0

告诉我们您的阵列结构 – manuyd 2014-12-08 05:29:59

+0

需要知道你的两个数组的结构。 – 2014-12-08 05:32:15

+0

我刚刚添加了印刷的阵列 – 2014-12-08 05:33:58

回答

0

你的阵列结构应该是这样的

  <?php 
       $question = array(
        'qid1' => 'question 1?' 
        'qid2' => 'question 2?' 
        //... 
       ); 

       $answer = array(
        'qid1' => array(
          'ansid-1' => 'answer for q 1 1' 
          'ansid-2' => 'answer for q 1 2' 
          'ansid-3' => 'answer for q 1 3' 
          'ansid-4' => 'answer for q 1 4' 
          ), 
        'qid2' => array(
          'ansid-5' => 'answer for q 2 1' 
          'ansid-6' => 'answer for q 2 2' 
          'ansid-7' => 'answer for q 2 3' 
          'ansid-8' => 'answer for q 2 4' 
          ) 
       ) 

       foreach($question $qid=>$q){ 
        // + question related html start 

         foreach($answer[$qid] as $answer_id => $answer){ 
          // + answer related html 
         } 

        // + question related html end 
       } 

      ?> 

我认为这将有助于你

+0

所以,你说我需要安排结构以便它的功能? – 2014-12-08 06:53:23

+0

是的,我认为那会更好。 – 2014-12-08 08:27:09

+0

所以这对你有帮助吗? – 2014-12-10 06:31:39

1

您可以使用类似这样

<?php 
$First = array('a', 'b', 'c', 'd'); 
$Second = array('1', '2', '3', '4'); 

for ($indx = 0 ; $indx < count($First); $indx ++) { 
echo $First[$indx] . $Second[$indx]; 
echo "<br />"; 
} 
?>