PHP使用isset检查输入

时间:2012-06-27 10:50:37

标签: php forms input

为了检查输入字段是否为空或具有任何值,以下两种方法是否会以相同的方式工作?或者他们中的任何一个比其他人更好?

if ($options['url']) {
    ..
}

if ( isset ($options['url']) &&  ($options['url']!="") ) {
    ..
}

5 个答案:

答案 0 :(得分:2)

如果isset()不是数组或索引$options不存在,则不使用url进行检查,您将至少收到通知消息。所以应该使用isset()

您也可以使用

if (! empty($options['url'])) {
    ...
}

Empty()检查任何错误值(如空字符串,未定义等等)。

答案 1 :(得分:1)

Isset确定变量是否为NULL并且已设置。

($ options ['url'])确定变量是否返回true

答案 2 :(得分:1)

以下代码仅检查假设密钥存在的值为true。如果密钥不存在,将触发通知。     if($ options ['url']){         ..     }

isset将告诉您密钥是否存在且值是否为空。

我使用empty,因为如果密钥不存在,它将返回false,如果密钥确实存在但值仍为空,它也将返回false。

答案 3 :(得分:1)

没有

$options['url']!=""检查变量是否为空,

isset($options['url'])检查变量是设置还是非空

无论如何,总是在可能存在或可能不存在的变量或数组键上调用isset()必须是规则。

或者你会得到所有那些'未定义'的警告......

答案 4 :(得分:1)

以下就足够了:

if (isset($options["url"]) && $options["url"]) {
   // ...
}
  1. isset()用于检查数组中是否存在特定键(并避免未定义索引通知)。这是一个很好的编程实践。在这种情况下,您也可以使用array_key_exist()功能,但isset通常更快。

  2. 在布尔上下文中使用$options['url']等表达式时;检查其真实性(参见converting to boolean section)。 empty()函数为大多数表达式生成相同的结果。