PHP中没有条件不起作用

时间:2014-02-11 12:25:52

标签: php conditional-statements

为什么这不起作用:

if ($name != "alex" or "james"){
        echo '<script> alert("error");</script>';
        echo '<script> window.location.replace("demo.php");</script>';
}

但这是?

if ($name != "yo"){
    echo '<script> alert("error");</script>';
    echo '<script> window.location.replace("demo.php");</script>';
}

我也尝试使用||而不是和$name != "alex" or $name != "james",但这也行不通。有人知道为什么吗?

3 个答案:

答案 0 :(得分:3)

我认为您正在寻找

if ($name != "alex" or "james"){

更改为:

if ($name != "alex" && $name != "james"){

你的问题是,如果'james'等于true,它会检查名称是否不等于Alex ,因为它是定义的。

答案 1 :(得分:0)

您的第一个示例无效,因为您需要再次比较$name

if ($name != "alex" && $name != "james"){
    echo '<script> alert("error");</script>';
    echo '<script> window.location.replace("demo.php");</script>';
}

答案 2 :(得分:0)

像这样合并你的条件

if ($name != "alex" || $name!="james"){
        echo '<script> alert("error");</script>';
        echo '<script> window.location.replace("demo.php");</script>';
}

如果您希望$name不等于alexjames使用&&合并这样的条件

 if ($name != "alex" && $name!="james"){
            echo '<script> alert("error");</script>';
            echo '<script> window.location.replace("demo.php");</script>';
    }