什么是 php 函数同时检查 $_GET 参数是否存在并访问其值

What is the php function to simultaneously check the existence of a $_GET parameter and access its value

在PHP中,为了避免Undefined Index错误,可以写成

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 7+ 中使用 Null coalescing operator (??),它允许您设置 'not defined' 值(我在此示例中使用空白 '')。 .

if(($_GET['var1']??'') == 'My Matching Text'){
    //do stuff
}

您在考虑 filter_input 功能吗?

if (filter_input(INPUT_GET, 'var1') == 'My Matching Text') {
    //do stuff
}

它需要第三个参数,您可以在其中指定不同的过滤器类型,这很有用。默认类型根本不过滤,但它会 return 值(如果未设置键则为 null)而不会出现未定义的索引通知。

我不知道这与使用其他答案显示的空合并运算符在性能方面相比如何,但我认为这个函数调用会更昂贵一些,所以运算符会更好除非您要使用其中一种过滤器,否则要走的路。