什么是php函数来同时检查$\u GET参数的存在并访问其值

什么是php函数来同时检查$\u GET参数的存在并访问其值,php,superglobals,Php,Superglobals,在PHP中,为了避免未定义索引错误,可以编写 if(isset $_GET['var1'] && $_GET['var1'] == 'My Matching Text'){ //do stuff } 但我记得我使用了一个函数(或语言构造),我认为它允许这样的事情: if([THE FUNCTION I'M LOOKING FOR]($_GET['var1']) == 'My Matching Text'){ //do stuff } 这个函数的名字我忘了是什么

在PHP中,为了避免
未定义索引
错误,可以编写

if(isset $_GET['var1'] && $_GET['var1'] == 'My Matching Text'){
    //do stuff
}
但我记得我使用了一个函数(或语言构造),我认为它允许这样的事情:

if([THE FUNCTION I'M LOOKING FOR]($_GET['var1']) == 'My Matching Text'){
    //do stuff
}
这个函数的名字我忘了是什么?

您可以在PHP7+中使用,它允许您设置一个“未定义”值(在本例中我使用了空白的
'

您可以在PHP7+中使用,它允许您设置一个“未定义”值(在本例中,我使用了blank
'

你在考虑功能吗

if (filter_input(INPUT_GET, 'var1') == 'My Matching Text') {
    //do stuff
}
它使用第三个参数,您可以在其中指定不同的过滤器类型,这可能很有用。默认类型根本不过滤,但它将返回值(如果未设置键,则返回null),而不显示未定义的索引通知

我不知道这在性能方面与使用空合并运算符(如其他答案所示)相比如何,但我假设此函数调用会稍微贵一点,因此运算符将是一种更好的方法,除非您要使用其中一个筛选器。

您是否考虑使用此函数

if (filter_input(INPUT_GET, 'var1') == 'My Matching Text') {
    //do stuff
}
它使用第三个参数,您可以在其中指定不同的过滤器类型,这可能很有用。默认类型根本不过滤,但它将返回值(如果未设置键,则返回null),而不显示未定义的索引通知


我不知道这在性能方面与使用空合并运算符(如其他答案所示)相比如何,但我认为此函数调用会稍微贵一点,因此运算符将是一种更好的方法,除非您要使用其中一个过滤器。

我尝试了Google和php.net,但我在两次搜索中都失败了。听起来你在寻找一个
nvl
等价物。我不相信有这样一个函数,但它很容易使您自己或使用,或另一个“未定义的索引”只是一个警告,而不是一个阻塞错误。我几乎觉得这是一个肮脏的建议,但这似乎是
@
警告抑制器的完美用例。isset($\u GET['var1'])的工作我接受了Don'tPanic的答案,因为它回答了我的书面问题。我对奈杰伦的答案投了赞成票,因为我学到了一个有价值的新工具!我试过Google和php.net,但两次搜索都失败了。听起来你在寻找一个
nvl
等价物。我不相信有这样一个函数,但它很容易使您自己或使用,或另一个“未定义的索引”只是一个警告,而不是一个阻塞错误。我几乎觉得这是一个肮脏的建议,但这似乎是
@
警告抑制器的完美用例。isset($\u GET['var1'])的工作我接受了Don'tPanic的答案,因为它回答了我的书面问题。我对奈杰伦的答案投了赞成票,因为我学到了一个有价值的新工具!