PHP OR运算符有问题吗?

ked*_*ter -4 php

我的转储变量出现在他们的页面上:

if ($_SERVER['REMOTE_ADDR'] == '44.71.45.98' OR '44.71.45.99') {
  //blah blah
}else{
  //blah
}
Run Code Online (Sandbox Code Playgroud)

我知道这是错的,但是当我尝试..它正在我的另一台计算机工作.即使我知道这是错误的,它也没有提示我错误...

通常我编码或喜欢这些:

//this is correct
if(isset($a) or isset($b)){

}
Run Code Online (Sandbox Code Playgroud)

Boa*_*ann 6

是的,它应该是:

if ($_SERVER['REMOTE_ADDR'] == '44.71.45.98' or $_SERVER['REMOTE_ADDR'] == '44.71.45.99') ...
Run Code Online (Sandbox Code Playgroud)

'或'(或'||')将布尔(true或false)表达式组合在一起(例如使用'=='进行比较).在您的原始代码中,它将第二个IP字符串转换为布尔值 - 值为true - 因此if语句将始终匹配.