我正在做的是,如果我在$_POST
或$_SESSION
中没有ID,那么重定向。优先选用$_POST
。这里是:
$bool = 0;
if (isset($_POST['id'])) {
$bool = 1;
} elseif (isset($_SESSION['id'])) {
$bool = 1;
}
if (!$bool) {
...//redirect
}
除了去掉括号之外,有没有更快的方法来写这个?
if(!( isset($_POST['id']) || isset($_SESSION['id']) ))
redirect();
(不确定我是否理解给予$_POST
的是偏好)。
你可以这样做:
$has_id = isset($_POST['id']) || isset($_SESSION['id']);
if (!$has_id) {
// redirect
}
(我建议你给你的变量更多的描述性名称,而不仅仅是$bool
)
如果您不使用该变量做任何其他事情,您可以这样做:
if (!isset($_POST['id']) && !isset($_SESSION['id'])) {
// redirect
}
if (isset($_POST['id']) || isset($_SESSION['id'])) {
$bool = 1;
}
可以了,simples
$bool = (isset($_POST['id']) || isset($_SESSION['id'])) ? 1 : 0; // if isset, 1
($bool == 1?header(Location: www.whatever.com):null;
使用条件运算符,您可以在一行语句中实现
例子:
c = (a == b) ? d : e;