为了检查输入字段是否为空或有任何值,以下两种方法是否会以相同的方式工作?或者他们中的任何一个都比其他更好?
if ($options['url']) {
..
}
或者
if ( isset ($options['url']) && ($options['url']!="") ) {
..
}
如果不是数组或索引不存在,如果不与您核对,isset()
至少会收到一条通知消息。所以应该使用。$options
url
isset()
你也可以使用
if (! empty($options['url'])) {
...
}
Empty()检查任何错误值(如空字符串、未定义等)。
下面的代码仅检查该值是否为真,假设键存在。如果密钥不存在,将触发通知。if ($options['url']) { .. }
isset
会告诉你键是否存在并且值不为空。
我会使用empty
它,因为如果键不存在,它将返回 false,如果键确实存在但值为空,它也会返回 false。
不。
$options['url']!=""
检查变量是否为空,
whileisset($options['url'])
检查变量是否已设置或不是 NULL。
isset()
的变量或数组键必须是一个规则。或者你会得到所有那些“未定义”的警告......
以下内容就足够了:
if (isset($options["url"]) && $options["url"]) {
// ...
}
用于检查数组中isset()
是否存在特定键(并避免未定义索引通知)。这是一个很好的编程习惯。在这种情况下,您也可以使用该array_key_exist()
功能,但isset
通常更快。
$options['url']
在布尔上下文中使用诸如此类的表达式时;检查其真实性(请参阅转换为布尔部分)。该empty()
函数对大多数表达式产生相同的结果。
Isset 确定变量是否不为 NULL 并且已设置。
($options['url']) 确定变量是否返回 true