【问题标题】:Add or to an if condition in PHP在 PHP 中添加或到 if 条件
【发布时间】:2012-09-22 08:12:18
【问题描述】:

我有这个 if 条件:

if (isset($_REQUEST['altgeraet'])) {
    $Altgeraet = 'OK';
} else {
    $Altgeraet = 'NOK';
}

我希望在 SQL 表 Host_alt 中,值“KeinAlterHost”是

$Altgeraet = 'OK'

这是我尝试过的,但没有成功:

if (isset($_REQUEST['altgeraet']) 
        OR ($resultarray['Hostname_alt'] == "KeinAlterHost")) {
    $Altgeraet = 'OK';
} else {
    $Altgeraet = 'NOK';
}

那么这个设置对吗?我用array_key_exists

if ((isset($_REQUEST['altgeraet']) OR (array_key_exists('KeinAlterHost',$resultarray['Hostname_alt'])) {
        $Altgeraet = 'OK';
        } else {
        $Altgeraet = 'NOK';
        }

【问题讨论】:

  • 有时=== 可以解决问题。

标签: php mysql if-statement conditional-statements or-operator


【解决方案1】:

您需要一个用于 OR 的管道

所以代码是这样的:

if (isset($_REQUEST['altgeraet']) || ($resultarray['Hostname_alt'] == "KeinAlterHost"))

【讨论】:

  • @Mr.Alien,你们这么说,所以看起来它是 OR == true ;-)
【解决方案2】:

isset 不正确...

if (isset($_REQUEST['altgeraet']) OR ($resultarray['Hostname_alt'] == "KeinAlterHost")) {
    $Altgeraet = 'OK';
} else {
    $Altgeraet = 'NOK';
}

你需要早点退出:

if (isset($_REQUEST['altgeraet']) OR ($resultarray['Hostname_alt'] == "KeinAlterHost")) {
    $Altgeraet = 'OK';
} else {
    $Altgeraet = 'NOK';
}

因为它会检查请求是否已设置,并且您的主机名是否设置为旧代码。通过新的,它检查请求是否已设置,如果未设置,则检查主机名 == keinalterhost 然后执行这些操作...

【讨论】:

  • 仍然是白页,区分大小写是什么意思?
  • @user1489323 名称区分大小写。所以 KeinAlterHost 与 keinalterhost 不同。使用 == 它不应该总是有问题,但使用 === 它会严格检查。
  • @user1489323 区分大小写意味着 helloworld != HeLloWOrLD
  • @TWCrap 你的if条件不对,去掉OR前的右括号
  • @Mr.Alien 我必须在哪里插入 array_key_exists 我对 php 不是很好
猜你喜欢
  • 1970-01-01
  • 2020-09-20
  • 2017-08-13
  • 2021-12-16
  • 1970-01-01
  • 2022-11-08
  • 2022-12-01
  • 2016-06-20
  • 1970-01-01
相关资源
最近更新 更多