如果在PHP中while循环条件为false时如何重置/更改变量值

时间:2018-09-18 09:45:00

标签: php

我有一种情况,我想在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个单选按钮,依此类推。

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

我该怎么做? 谢谢。

3 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:1)

围绕$someNumber语句对echo进行测试。

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

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

答案 2 :(得分:0)

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

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