使用PHP有很多方法可以查看一个值是否存在。有isset, !=false, !==false, !empty等。在以下情况下,哪一个将是最好的(快速和准确的)?
if($_GET['test'])
...
if (isset($_GET['test'])) {
// use value
}
if(array_key_exists($_GET, "test"))
array_key_exists返回true如果键/变量存在且不为空,Isset将返回true。
Isset可能是最好的,因为它检查url是否包含"?test="。如果你想确保它不是空的,你必须进一步检查。
我会使用php5的一种get:
$test = filter_input(INPUT_GET, 'test', FILTER_SANITIZE_STRING);
if($test){
//do something
}
这里的引用,您可以使用它们进行验证和清理。您可以使用"filter_input_array"来获取完整的输入类型
isset函数只检查它的可用性,你也必须使用empty函数来查看它是否已设置,而不是空的,也如:
if (isset($_GET['test']) && !empty($_GET['test'])) {