对于循环显示单选按钮,选中第一个

时间:2017-07-14 07:45:39

标签: php arrays for-loop if-statement radio-button

我有一个显示单选按钮的for循环,我希望第一个显示为已选中。但是当我在for循环中放入一个if语句时,页面nevers加载。有什么想法吗?

$mains = array(0=>'Beef Steak', 1=>'Chicken Breast', 2=>'Pork Chops');
$mainscount = count($mains);

<?php for ($mainNO = 0; $mainNO < $mainscount; $mainNO++) { ?>
  <label for="mains<?php echo $mainNO ?>" class="radiobutton"><?php echo $mains[$mainNO]; ?></label>
  <input type="radio" name="mains" id="mains<?php echo $mainNO; ?>" value="<?php echo $mainNO; ?>" 
  <?php if($mainNO = 0){ echo 'checked="checked"'; } ?>/>
<?php } ?>

3 个答案:

答案 0 :(得分:1)

<?php for ($mainNO = 0; $mainNO < $mainscount; $mainNO++) { ?>
    <label for="mains<?php echo $mainNO ?>" class="radiobutton"><?php echo $mains[$mainNO]; ?></label>
    <input type="radio" name="mains" id="mains<?php echo $mainNO; ?>" value="<?php echo $mainNO; ?>"
        <?php if ($mainNO == 0) {
            echo ' checked="checked" ';
        } ?>/>
<?php } ?>

您使用=,您应该使用==

答案 1 :(得分:0)

你在比较声明中使用assingment运算符

<?php for ($mainNO = 0; $mainNO < $mainscount; $mainNO++) { ?>
<label for="mains<?php echo $mainNO ?>" class="radiobutton"><?php echo $mains[$mainNO]; ?></label>
<input type="radio" name="mains" id="mains<?php echo $mainNO; ?>" value="<?php echo $mainNO; ?>"
    <?php if ($mainNO == 0) {
        echo " checked";
    } ?>/>

在HTML5中,您只能使用已选中

<input type="checkbox" checked>

答案 2 :(得分:0)

//注意:如果条件错误,则使用single = in,它将创建无限循环。经过测试的代码。

    $mains = array(0=>'Beef Steak', 1=>'Chicken Breast', 2=>'Pork Chops');
    $mainscount = count($mains);

     for ($mainNO = 0; $mainNO < $mainscount; $mainNO++) { 

        // Checked if value is 0
        if($mainNO == 0){  $checked = 'checked="checked"'; }else { $checked =''; };

        echo "<label for='mains".$mainNO."' class='radiobutton'>".$mains[$mainNO]."</label>";
        echo "<input type='radio' name='mains' id='mains".$mainNO."' value='".$mainNO."' $checked   />";


    }