如何在PHP中动态获取具有名称的多个单选按钮值


How to Get the multiple radio buttons values in PHP which having names dynamically

我的表单中有以下代码。如何在提交时获得循环中所有单选按钮值的值?或者给我任何其他解决方案。

<form action="res.php" method="post">
<?php
    for($i=1;$i<=5;$i++)
    {
?>
        <div class="well well-sm well-primary">
            <input type="hidden" name="ques"/>Questions?
        </div>
        <div class="well well-sm">
            <div class="radio">
                <label>
                    <input type="radio" name="optradio<?php echo $i; ?>" value="a">Option 1
                </label>
            </div>
            <div class="radio">
                <label>
                    <input type="radio" name="optradio<?php echo $i; ?>" value="b">Option 2
                </label>
            </div>
            <div class="radio">
                <label>
                    <input type="radio" name="optradio<?php echo $i; ?>" value="c">Option 3
                </label>
            </div>
        </div>
    <?php
    }
    ?>
    <button type="submit" class="btn btn-success" name="submit">Finish</button>
</form>

按如下使用单选按钮阵列

<form method="post">
    <?php
    for($i=1;$i<=5;$i++)
    {
        ?>
        <div class="well well-sm well-primary">
            <input type="hidden" name="ques"/>Questions?
        </div>
        <div class="well well-sm">
            <div class="radio">
                <label>
                <input type="radio" name="optradio[<?php echo $i; ?>]" value="a">Option 1</label>
            </div>
            <div class="radio">
                <label>
                <input type="radio" name="optradio[<?php echo $i; ?>]" value="b">Option 2</label>
            </div>
            <div class="radio">
                <label>
                <input type="radio" name="optradio[<?php echo $i; ?>]" value="c">Option 3</label>
            </div>
        </div>
        <?php
    }
    ?>
    <button type="submit" class="btn btn-success" name="submit">Finish</button>
</form>

要访问发布的值,您可以简单地使用$_POST['optradio']

考虑到5个问题的选择是选项1、选项2、选项3、选项1和选项2POST['optradio']将给出类似的阵列

阵列([1]=>a[2]=>b[3]=>c[4]=>a[5]=>b)

要访问此数组中的sigle值,可以使用foreach循环作为,

<?php 
 foreach($_POST['optradio'] as $option_num => $option_val)
    echo $option_num." ".$option_val."<br>";
?>

采用一个隐藏输入,将单选按钮名称数组存储在for循环中像

<input type="hidden" name="testradio[]" value="optradio<?php echo $i; ?>">

然后使用foreach 获取单选按钮值

$rdobtn = $_POST['testradio'];
$idx = 0;
    foreach($rdobtn as $val){
      $rdovalue = $val[$idx];
      // perform opertation using above $rdovalue variable.
       $idx++;
    }

}

是的,正如Sean所评论的,试试这个:

<form action="res.php" method="post">
<?php
    for($i=1;$i<=5;$i++)
    {
?>
        <div class="well well-sm well-primary">
            <input type="hidden" name="ques"/>Questions?
        </div>
        <div class="well well-sm">
            <div class="radio">
                <label>
                    <input type="radio" name="optradio[<?php echo $i; ?>]" value="a">Option 1
                </label>
            </div>
            <div class="radio">
                <label>
                    <input type="radio" name="optradio[<?php echo $i; ?>]" value="b">Option 2
                </label>
            </div>
            <div class="radio">
                <label>
                    <input type="radio" name="optradio[<?php echo $i; ?>]" value="c">Option 3
                </label>
            </div>
        </div>
    <?php
    }
    ?>
    <button type="submit" class="btn btn-success" name="submit">Finish</button>
</form>

然后在PHP端使用下面的命令来获取单选按钮值为:

foreach ($_POST['optradio'] as $optNum => $option) {
    // do stuff with $optNum and $option
}

试试这个:
<input type="radio" name="optradio[]" value="a">

在PHP文件中,$_POST['optradio']将产生一个数组。