如果返回语句值不正确


incorrect if statement value returned

>我有一个显然是三叉戟的 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' 这样的字符串,这当然会失败