PHP if语句 - 我觉得自己像个白痴

时间:2013-08-06 16:35:49

标签: php if-statement

我有:

<input type="radio" id="flag" name="flag" value="0" <?php if($row['flag_active'] === 0){ echo  'checked="checked"';} ?>checked="checked" /><label for="flag">Inactive</label>
<input type="radio" id="flag1" name="flag" value="1" <?php if($row['flag_active'] === 1){ echo  'checked="checked"';} ?>checked="checked" /><label for="flag1">Active</label>

但第二个单选按钮是始终被选中的按钮。我已经回显了$row['flag_active'],它等于0。

另外,我试过了:

if($row['flag_active'] === 0)
if($row['flag_active'] == 0)
if($row['flag_active'] = 0)
if($row['flag_active'] !== 1)
if($row['flag_active'] != 1)

提前感谢帮助。

3 个答案:

答案 0 :(得分:1)

嗯,无论如何,你checked="checked"以外if。删除那些:

<input type="radio" id="flag" name="flag" value="0" <?php if($row['flag_active'] === 0){ echo  'checked="checked"';} ?> /><label for="flag">Inactive</label>
<input type="radio" id="flag1" name="flag" value="1" <?php if($row['flag_active'] === 1){ echo  'checked="checked"';} ?> /><label for="flag1">Active</label>

答案 1 :(得分:1)

在php代码后面有一个checked =“checked”。在您的代码中,每个输入都将checked-attribute设置为checked。

答案 2 :(得分:0)

您的代码存在两个基本问题:

1)。您已将checked='checked'设置在PHP子句之外,因此将始终检查最后一项。

2)。它的可读性和可靠性都很差。可维护性。您可以使用三元组以更易读的形式编写它:

<input type="radio" id="inactive_flag" name="inactive_flag" value="0" <?= ($row['flag_active'] == 0) ? "checked='checked'" : null; ?> />
<label for="inactive_flag">Inactive</label>
<input type="radio" id="active_flag" name="active_flag" value="1" <?= ($row['flag_active'] == 1) ? "checked='checked'" : null; ?> />
<label for="active_flag">Active</label>