0

我有一种情况,我想在 while 循环中为 php 变量设置一些值。请查看我的代码以更好地理解。

$radioChecked = '';
$j=1;

while($j <= $someNumber){
$radioChecked = 'checked';
$j++; 
}

现在我想在完成while循环后我的$radioChecked变量应该有一个空字符串。

实际上我正在尝试这样做:我有一些单选按钮,我想检查其中的一些。将检查多少个复选框取决于$someNumber变量。

然后我有复选框:

    for ($i = 0; $i < $total_radios; $i++){
    <input type="radio" <?php echo $radioChecked; ?> />
    }

现在问题来了:

如果我有 4 个$total_radios,那么我会在页面上显示 4 个收音机,这和我预期的一样好。如果$someNumber是 2,那么我希望检查前 2 个单选按钮。如果$someNumber是 3,那么我希望检查前 3 个单选按钮,依此类推。

但就我而言,它正在检查所有单选按钮。$radioChecked如果条件为假而循环条件为假,我需要一些逻辑来将变量重置为空字符串。

我怎样才能做到这一点?谢谢。

4

3 回答 3

3

为什么不只是在循环中做呢?

foreach ($total_radios as $i => $total){
    <input type="radio" <?php if ($i < $someNumber) echo 'checked'; ?> />
}

php 和 html 之间的混搭,但提供的示例是相同的。

于 2018-09-18T09:49:46.530 回答
1

$someNumber围绕echo语句执行测试。

for ($i = 0; $i < $total_radios; $i++){ ?>
    <input type="radio" <?php if ($i < $someNumber) echo $radioChecked; ?> />
<?php 
}

您还缺少循环的 HTML 主体周围的?>and 。<?phpfor

于 2018-09-18T10:02:32.470 回答
0

我认为这也可以作为解决方案:

for ($i = 0; $i < $total_radios; $i++){
    <input type="radio" <?php echo $radioChecked; ?> />
    $j--;
    if ($j == 0) {
        $radioChecked = '';
    }
}
于 2018-09-18T09:53:35.830 回答