【发布时间】:2013-11-05 14:33:34
【问题描述】:
我有一个显然很琐碎的 if 语句,它无法正常工作。
if (!empty ($_POST['interest']) && (float)$_POST['interest'] >= 0) {
当$_POST['interest'] 为 0 或正数时,它应该返回 true。
但是,当它为 0 时,它当前错误地返回 false。
这是怎么回事?
【问题讨论】:
标签: php
我有一个显然很琐碎的 if 语句,它无法正常工作。
if (!empty ($_POST['interest']) && (float)$_POST['interest'] >= 0) {
当$_POST['interest'] 为 0 或正数时,它应该返回 true。
但是,当它为 0 时,它当前错误地返回 false。
这是怎么回事?
【问题讨论】:
标签: php
这个条件在为0的时候会失败:
!empty ($_POST['interest'])
emtpy() 为真,所以!empty() 为假。
所有发布的值都是字符串,因此要测试0 值,您可以使用例如$_POST['interest'] === '0'。但是,对于像 '0.00' 这样的字符串,这当然会失败
【讨论】:
isset($_POST['interest'])。
isset 将返回true。