【问题标题】:PHP if statement logic doesn't seem to be working when detecting if values are NULL检测值是否为 NULL 时,PHP if 语句逻辑似乎不起作用
【发布时间】:2019-06-14 08:27:34
【问题描述】:

if 语句的前提是检查从数据库中选择的字段以检查它们是否为空(NULL)。在进入 StackOverflow 之前提到这一点是明智的,我已经尝试过 isset()、empty() 和 is_null(),但仍然没有设法让这个 if 语句正确识别为空的字段。我不确定我是否在这里遗漏了一些如此简单的东西。

如前所述,我已经尝试过 isset()、empty() 和 is_null(),但 if 语句似乎仍然卡在 if 语句的第一次迭代中,认为一个或多个字段实际上是空的,它们都包含一个值。

这是 if 语句:

    if(($xQI['businessName'] == NULL) OR ($xQI['businessAddress1'] == NULL) OR ($xQI['businessCity'] == NULL) OR ($xQI['businessCounty'] == NULL) OR ($xQI['businessPostCode'] == NULL) OR ($xQI['businessTelephone'] == NULL) OR ($xQI['businessEmail'] == NULL) OR ($xQI['businessContactName'] == NULL)) {
      header('location:../quotes-electricity-view.php?id=' . $idmd5 . '&v=n&c=bi');
    } elseif(($xQI['electricity_mpanBottom'] == NULL) OR ($xQI['electricity_mpanTop'] == NULL)) {
      header('location:../quotes-electricity-view.php?id=' . $idmd5 . '&v=n&c=mpan');
    } elseif(($xQI['electricity_SiteName'] == NULL)) {
      header('location:../quotes-electricity-view.php?id=' . $idmd5 . '&v=n&c=sname');
    } elseif(($xQI['electricity_SiteUsage'] == NULL)) {
      header('location:../quotes-electricity-view.php?id=' . $idmd5 . '&v=n&c=eac');
    } else {

//代码在这里继续执行页面的其余部分

在这一点上,我们感谢任何和所有的帮助。 if 语句只选择最上面的输出作为结果,带你到结果为 &v=n&c=bi 的页面,这意味着它认为缺少一个业务细节条目,而实际上在测试中,每个字段有一个价值。非常感谢。

【问题讨论】:

  • 你能告诉我们var_dump($xQI)吗?
  • 顺便说一句...使用|| 而不是OR
  • @dharman 感谢您为我提供了回答我自己的问题的重要链接。我觉得自己像个正确的傻瓜。 $xQI 数组为 NULL。原因是它在 if 语句运行之前被关闭。因此,一个简单的括号移动允许代码在 while 循环中执行,从而可以看到值。都是因为一个括号......也感谢其他回答但标记的答案真的应该感谢 dharman。

标签: php if-statement logic


【解决方案1】:

由@dharman 部分回答。

@dharman 感谢您提供重要链接,让我回答我自己的问题。我觉得自己像个正确的傻瓜。 $xQI 数组为 NULL。原因是它在 if 语句运行之前被关闭。因此,一个简单的括号移动就可以让代码在 while 循环中执行,从而可以看到值。

都是因为一个括号...也感谢其他回答的人。

【讨论】:

  • 公平地说,你给了我荣誉,因为你自己解决了一些问题。我只询问了您问题的其他详细信息。如果您想回答自己的问题,那么您应该提出明确的问题陈述。如果是错字,最好删除或关闭问题。
猜你喜欢
  • 2017-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多