我正在检查变量“auth”是否设置在\u POST或\u GET上,并需要两个不同的操作。我已经设法让它与if/else一起工作了,但它看起来很丑陋,很浪费?
如果未设置POST,请选中GET。如果设置了GET,则不执行任何操作
if ( !isset( $_POST[ 'auth' ] ) )
{
if (isset( $_GET[ 'auth' ] ) ) {
//do nothing
} else {
//redirect
header( 'Location: https://google.com' );
exit();
}
}
这里有一种全新的方法吗?像检查两者一样,如果两者都没有设置,则转到重定向,如果设置了一个,则继续页面?
if(isset($_GET['auth']) xor (isset($_POST['auth']))) {
//do nothing
}else{
//redirect
header('Location: https://google.com');
exit();
}
^如果这些是可以接受的陈述,“什么都不做”部分应该是什么?
您可以使用null合并(??
)来链接各种值并默认为null,没有找到任何内容,然后检查null...
$auth = $_POST[ 'auth' ] ?? $_GET[ 'auth' ] ?? null;
if ( $auth == null )
{
//redirect
header( 'Location: https://google.com' );
exit();
}
你可以像使用一样简单地做到这一点
if(!isset($_GET['auth']) && !isset($_POST['auth'])) {
header('Location: https://google.com');
exit();
}
问题内容: 一位访问员最近问我这个问题:给定三个布尔变量a,b和c,如果三个变量中至少有两个是true,则返回true。 我的解决方案如下: 他说,这可以进一步改善,但是如何呢? 问题答案: 而不是写: 写: 至于表达式本身,是这样的: 或此(无论您觉得更容易掌握): 它测试和准确一次,最多一次。 参考文献 JLS 15.25条件运算符?:
问题内容: 有没有办法检查两个(非平凡的)选择是否等效? 最初,我希望两个选择在形式上等效,但是proving-sql-query-equivalency中的答案使 我停滞不前。 对于我的实际需要,我可以只检查两个选择的(实际)结果是否相同。 问题答案: 如果要比较查询结果,请尝试以下操作: 这将导致所有行仅由查询之一返回。
在JavaScript中,如果窗口大小大于500px,我会告诉浏览器做些什么。我是这样做的: 这很有效,但我想用同样的方法,但有一系列的数字。所以我想告诉我的浏览器,如果窗口大小在500px到600px之间,我就去做一些事情。我知道这是行不通的,但我是这么想的: 在JavaScript中,这可能吗?
本文向大家介绍如何检查一个对象是否为空,包括了如何检查一个对象是否为空的使用技巧和注意事项,需要的朋友参考一下 检查一个数组为空很容易,直接调用 length 方法即可,那么如何检查一个对象是否为空呢 ❓ 这里的空指的是对象没有自有属性 假设这里有两个对象,一个是 obj 一个是 anotherObj 想了半天查看对象是否有 Symbol 属性只能使用 getOwnPropertySymbols
问题内容: 我正在尝试比较两个列表,如果第二个列表中有第一个列表中的任何值,则只打印一条消息。 在此示例中,我要对进行求值,因为两个列表中都包含5。这行不通,而且我不确定比较这两个列表的最简单方法。 问题答案: 您可以用很多方法解决。一个很容易理解的方法就是只使用一个循环。 一个更紧凑的方法是使用和: 更好的是,可以将其替换为: 您还可以使用集合:
有可能做如下事情吗: 或者: 我知道用很多if-else语句也可以实现同样的目标,但如果它像上面那样工作,看起来会更干净。