我正在做的是,如果我在$_POST
或$_SESSION
中没有ID,那么重定向。优先考虑$_POST
。所以我有这个:
$bool = 0;
if (isset($_POST['id'])) {
$bool = 1;
} elseif (isset($_SESSION['id'])) {
$bool = 1;
}
if (!$bool) {
...//redirect
}
有没有更快的方法来写这个,APART只是删除大括号?
答案 0 :(得分:3)
if(!( isset($_POST['id']) || isset($_SESSION['id']) ))
redirect();
(不确定我是否理解$_POST
的内容是偏好)。
答案 1 :(得分:2)
你可以这样做:
$has_id = isset($_POST['id']) || isset($_SESSION['id']);
if (!$has_id) {
// redirect
}
(我建议您为变量提供比$bool
更具描述性的名称。)
虽然如果你没有将变量用于其他任何事情,你可以这样做:
if (!isset($_POST['id']) && !isset($_SESSION['id'])) {
// redirect
}
答案 2 :(得分:0)
if (isset($_POST['id']) || isset($_SESSION['id'])) {
$bool = 1;
}
答案 3 :(得分:0)
这样就可以了,简单
$bool = (isset($_POST['id']) || isset($_SESSION['id'])) ? 1 : 0; // if isset, 1
($bool == 1?header(Location: www.whatever.com):null;
答案 4 :(得分:0)
使用条件运算符,您可以在一行语句中实现此目的
c = (a == b) ? d : e;