二维数组需要显示在文本区域和4个单选按钮中


Two Dimensional Array need to display in textarea and 4 radio buttons

我在这里有一个数组,我需要将它显示在作为问题的文本区域和作为答案的4个单选按钮上。我把问题和答案组合成一个数组,所以第一个是问题,剩下的是答案。我在文本区显示问题时遇到问题,但答案正确显示在单选按钮上。我想我在循环中遇到了一个问题。对此有什么想法吗?

<?php
$question = array(
            array("What is the center of the universe?", "Sun", "Moon", "Jupiter", "Venus"),
            array("What is your name?", "Me", "Nothing", "Awesome", "Genuis")
    );
?>
<div id="wrapper"> 
<?php 
    for($i=0; $i<2; $i++)
    {
        ?> <textarea name="question1" style="width:500px; height:100px"><? echo  $question[$i] ?></textarea> <?
        for($j=1; $j<5; $j++)
        {   
?>  

            <div id="answerswers"> 
                <table style="width:500px"> 
                <tr>
                    <td><input type="radio" name="question1"><? echo $question[$i][$j] ?></td>
                </tr>
                </table>
            </div>
        <?php
        }
    }
    ?>
</div>

您的问题是内部数组的第一个元素。您正在回显整个数组,但无法工作(或回显"数组")。

<?php echo $question[$i][0]; ?>

我知道您已经选择了一个答案,但让我与您分享这个答案。这是一个完整的解决方案,使用foreach。这样做的好处是,它可以处理任何数量的问题和答案。你可以有一个只有2个答案的问题,也可以有10个不同的答案(或任何其他答案)。

<?php
  $questions = array(
    array("What is the center of the universe?", "Sun", "Moon", "Jupiter", "Venus"),
    array("What is your name?", "Me", "Nothing", "Awesome", "Genuis"),
    array("Are you smart?", "Yes", "No"),
    array("On a scale of 1 to 10, how hungry are you?", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
  );
?>
<?php if (!isset($_POST['submit'])) { ?>
  <form action="" method="POST">
    <?php foreach($questions as $qkey => $question) { ?>
      <label>Question <?php echo $qkey+1; ?>:<br />
        <textarea name="question_array[<?php echo $qkey+1; ?>]" style="width: 500px; height: 100px;"><?php echo $question[0]; ?></textarea>
      </label><br />
      <?php foreach ($question as $key => $value) { ?>
        <?php if ($key != 0) { ?> 
          <input type="radio" name="answerswer_array[<?php echo $qkey+1; ?>]" value="<?php echo $key; ?>" id="answerswer<?php echo $qkey; ?>_<?php echo $key; ?>" required />
          <label for="answerswer<?php echo $qkey; ?>_<?php echo $key; ?>"><?php echo $value; ?></label><br />
        <?php } ?>
      <?php } ?>
      <br />
    <?php } ?>
    <input type="submit" name="submit" value="Submit my answers" />
  </form>
<?php } else { ?>
  <pre><?php print_r($_POST); ?></pre>
<?php } ?>

工作PHP iddle:http://phpfiddle.org/main/code/3q01-w4uk