【发布时间】:2011-10-01 18:40:46
【问题描述】:
有很多方法可以使用 PHP 来查看值是否存在。有 isset、!=false、!==false、!empty 等。在以下情况下,哪一个最适合(快速且准确)?
if($_GET['test'])
...
【问题讨论】:
标签: php operator-keyword
有很多方法可以使用 PHP 来查看值是否存在。有 isset、!=false、!==false、!empty 等。在以下情况下,哪一个最适合(快速且准确)?
if($_GET['test'])
...
【问题讨论】:
标签: php operator-keyword
if (isset($_GET['test'])) {
// use value
}
【讨论】:
if(array_key_exists($_GET, "test"))
array_key_exists 如果键存在于数组中,则返回 true, 如果键/变量存在且不为 null,则 isset 将返回 true。
【讨论】:
Isset 可能是最好的,因为它会检查 url 是否包含“?test=”。如果你想确保它不是空的,你必须进一步检查。
【讨论】:
我会选择 php5 的一种获取方式:
$test = filter_input(INPUT_GET, 'test', FILTER_SANITIZE_STRING);
if($test){
//do something
}
参考here,您可以使用它们进行验证和清理。您可以将“filter_input_array”用于完整的输入类型。
【讨论】:
isset 函数仅检查它的可用性,您也必须使用空函数才能查看它是否已设置且不为空:
if (isset($_GET['test']) && !empty($_GET['test'])) {
【讨论】: