首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IF语句简化

IF语句简化
EN

Stack Overflow用户
提问于 2014-06-02 22:53:25
回答 1查看 79关注 0票数 3

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

我想要实现的是:

代码语言:javascript
复制
if(basename($_SERVER['SCRIPT_NAME']) != ("1.php" || "2.php" || "3.php"){
    header('Location: elsewhere.php'); 
}

而不是:

代码语言:javascript
复制
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'); 
}

我已经写了几次了,但我显然是在舔窗口。

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2014-06-02 22:57:02

你可以写

代码语言:javascript
复制
$files = array("1.php", "2.php", "3.php", "4.php");//so on

if(!in_array(basename($_SERVER['SCRIPT_NAME']), $files)){
    header('Location: elsewhere.php'); 
}

是的,另一种方法是(比上面的方法快一点)

代码语言:javascript
复制
if(array_diff((array)(basename($_SERVER['SCRIPT_NAME'])),array("1.php", "2.php", "3.php", "4.php")))
{
 header('Location: elsewhere.php'); 
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23997454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档