【问题标题】:incorrect if statement value returned [closed]如果语句值返回不正确[关闭]
【发布时间】:2013-11-05 14:33:34
【问题描述】:

我有一个显然很琐碎的 if 语句,它无法正常工作。

if (!empty ($_POST['interest']) && (float)$_POST['interest'] >= 0) {

$_POST['interest'] 为 0 或正数时,它应该返回 true。 但是,当它为 0 时,它当前错误地返回 false。

这是怎么回事?

【问题讨论】:

标签: php


【解决方案1】:

这个条件在为0的时候会失败:

!empty ($_POST['interest'])

emtpy() 为真,所以!empty() 为假。

所有发布的值都是字符串,因此要测试0 值,您可以使用例如$_POST['interest'] === '0'。但是,对于像 '0.00' 这样的字符串,这当然会失败

【讨论】:

  • 您应该在回答中给出正确的方法:使用isset($_POST['interest'])
  • @Oltarus 这行不通:它可以设置为空或设置为 0,在这两种情况下isset 将返回true
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-22
  • 2011-03-05
  • 2020-12-07
  • 2018-09-21
  • 1970-01-01
相关资源
最近更新 更多