我想将其转换为三元运算符,以便我可以简化代码..
<?php
$checked = $value['chkboxvalue'] == 'ok' ? 'checked' : '';
if(isset($_POST['chckbox'])):
$checked = 'checked';
elseif(count($_POST) > 0):
$checked = "";
endif;
?>
<input type="checkbox" name="chckbox" value="ok" <?=$checked?> />
我试过这种方式。
<?php
$checked = $value['chckboxvalue'] == 'ok' ? 'checked' : '';
?>
<input type="checkbox" name="chckbox" value="ok" class="checkbox" <?=isset($_POST['chckbox']) ? 'checked' : (count($_POST) > 0 ? '' : 'checked')?> />
但它不起作用:(任何帮助?谢谢!
答案 0 :(得分:1)
您的三元操作语法错误!使用这种方式:
$checked = ($value['chckboxvalue'] == 'ok') ? 'checked' : '';
如果您需要添加elseif
条件,请执行以下操作:
$checked = ($value['chckboxvalue'] == 'ok') ? ((count($_POST) > 0) ? 'checked' : '') : '';
答案 1 :(得分:0)
您的count
功能未正确关闭,请使用'checked'
变量代替最后$checked
次硬编码值,请尝试以下操作:
<input type="checkbox" name="chckbox" value="ok" class="checkbox" <?= isset($_POST['chckbox']) ? 'checked' : (count($_POST)) > 0 ? '' : $checked ?> />