如何针对一个值实现多次检查?我觉得我有点傻了......
我想要实现的目标是:
if(basename($_SERVER['SCRIPT_NAME']) != ("1.php" || "2.php" || "3.php"){
header('Location: elsewhere.php');
}
而不是:
if(basename($_SERVER['SCRIPT_NAME']) != "1.php" && basename($_SERVER['SCRIPT_NAME']) != "2.php" && basename($_SERVER['SCRIPT_NAME']) != "3.php" && basename($_SERVER['SCRIPT_NAME']) != "4.php"){
header('Location: elsewhere.php');
}
我已经写过几次,但我明显舔窗户。
提前致谢!
答案 0 :(得分:4)
你可以写
$files = array("1.php", "2.php", "3.php", "4.php");//so on
if(!in_array(basename($_SERVER['SCRIPT_NAME']), $files)){
header('Location: elsewhere.php');
}
是的另一种方法(比上面一点快一点)
if(array_diff((array)(basename($_SERVER['SCRIPT_NAME'])),array("1.php", "2.php", "3.php", "4.php")))
{
header('Location: elsewhere.php');
}