PHP三元始终输出,就像条件为真

时间:2017-04-25 06:35:11

标签: php html

在以下代码中......

echo "|".$express_ship."|".is_bool($express_ship)."|".(int)$express_ship."|".is_true($express_ship)."|";
echo '<input type="checkbox" id="express_ship" name="express_ship"'.($express_ship ? ' checked' : '').'/>';

...始终检查输入框,即使返回前的回显线... |假|| 0 |假|

有什么想法吗?

奇怪的是,is_bool($ express_ship)返回一个空字符串。有没有人遇到过这个?

PS:如果$ express_ship为true,则前面的行显示为...... |真|| 0 |真|

附录:出于某种原因,我认为is_true是一个PHP函数,我用它来调试$ express_ship。奇怪的是,这并没有导致错误,即使PHP中没有这样的功能。 (而且我没有编写自己的功能。)

1 个答案:

答案 0 :(得分:2)

如果变量$ express_ship是返回字符串,如“true”或“false”,它将始终显示您的复选框。

您需要更新以下代码:

echo '<input type="checkbox" id="express_ship" name="express_ship"'.($express_ship == 'true' ? ' checked' : '').'/>';

或者您需要通过var_dump检查以查找此变量$ express_ship

中的值的类型