IF语句简化

时间:2014-06-02 14:53:25

标签: php if-statement

如何针对一个值实现多次检查?我觉得我有点傻了......

我想要实现的目标是:

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'); 
}

我已经写过几次,但我明显舔窗户。

提前致谢!

1 个答案:

答案 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'); 
}
相关问题