二维数组需要在textarea和4个单选按钮中显示

时间:2014-09-02 12:15:49

标签: php html arrays loops

我这里有一个数组,我需要在textarea上显示这个问题,并在4个单选按钮上作为答案。我将问题和答案组合在一个数组中,因此第一个是问题,其余的是答案。我在textarea中显示问题时遇到问题,但答案正确显示在单选按钮上。我想我在循环中遇到了问题。对此有何想法?

<?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="answers"> 
                <table style="width:500px"> 
                <tr>
                    <td><input type="radio" name="question1"><? echo $question[$i][$j] ?></td>

                </tr>

                </table>

            </div>
        <?php
        }
    }

    ?>
</div>

2 个答案:

答案 0 :(得分:0)

你的问题是内部数组的第一个元素。你正在回应整个阵列,它无法工作(或回声&#34;阵列&#34;)。

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

答案 1 :(得分: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="answer_array[<?php echo $qkey+1; ?>]" value="<?php echo $key; ?>" id="answer<?php echo $qkey; ?>_<?php echo $key; ?>" required />
          <label for="answer<?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 } ?>

使用PHPFiddle:http://phpfiddle.org/main/code/3q01-w4uk