在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
}
我忘了这个函数的名字是什么?
答案 0 :(得分:1)
您可以在PHP 7+中使用Null coalescing operator (??),它允许您设置“未定义”值(在此示例中,我使用空白''
)...
if(($_GET['var1']??'') == 'My Matching Text'){
//do stuff
}
答案 1 :(得分:1)
您在考虑filter_input
函数吗?
if (filter_input(INPUT_GET, 'var1') == 'My Matching Text') {
//do stuff
}
它带有第三个参数,您可以在其中指定不同的过滤器类型,这很有用。默认类型根本不会过滤,但是它会返回值(如果未设置键,则返回null)而没有未定义的索引通知。
我不知道这与使用其他答案所示的使用空合并运算符相比,在性能方面有何不同,但我认为此函数调用会贵一些,因此该运算符将是一种更好的方法除非您要使用其中一种过滤器,否则请继续。