检查当前 URL 中的文件名是否不等于 $a 或 $b

Check if file name in current URL is not equal to $a or $b

我正在尝试检查当前 URL 的文件名是否不等于两个值:

$fn = basename($_SERVER['PHP_SELF']);

if ($fn !== 'blah.php' OR $fn !== 'bleh.php') {
    // do something
}

由于某种原因,这个 if 语句失败了。

但是,如果我简单地使用:

$fn = $_SERVER['PHP_SELF'];

if ($fn !== 'blah.php') {
   // do something
}

这很好用。

知道我做错了什么吗?

提前感谢您的帮助!

应该有AND运算符,

if ($fn !== 'blah.php' AND $fn !== 'bleh.php') {...}

如果你有更多的值,你也可以使用in_array

if (!in_array($fn, array('blah.php', 'bleh.php'))) {....}

你可以做两件事。 第一:使用 AND 而不是 OR 第二:如果您只与文件名进行比较,请使用

$fn = basename($_SERVER['PHP_SELF'])

您的代码完全正确,只需将 OR 替换为 &&。使用下面的代码

$fn = basename($_SERVER['PHP_SELF']);

if ($fn !== 'blah.php' && $fn !== 'bleh.php') {
    // do something
}

希望对您有所帮助