>我有一个显然是三叉戟的 if 语句,它无法正常工作。
if (!empty ($_POST['interest']) && (float)$_POST['interest'] >= 0) {
当$_POST['interest']
为 0 或正数时,它应该返回 true。但是,当它为 0 时,它当前错误地返回 false。
这是怎么回事?
当
它为 0 时,此条件将失败:
!empty ($_POST['interest'])
emtpy()
是真的,所以!empty()
是假的。
所有发布的值都是字符串,因此要测试0
值,您可以使用例如 $_POST['interest'] === '0'
。但是,对于像 '0.00'
这样的字符串,这当然会失败