isset() 和 !empty 有什么区别


What is different between isset() and !empty

我想知道isset()!empty有什么区别?

我知道isset()测试变量是否设置为空而不是空,而 当变量设置为特定值时,empty()可以返回 true。

但是从逻辑上讲,当isset()不清空时(不使用"empty()"),文本或文本区域中有一个变量,所以我们不需要empty()

isset方法检查变量是否存在。另一方面,!empty知道变量存在,但它需要检查其值。

差异很小,但足够大,不会在两个陈述中出错。当你声明一个这样的变量时:

<?php
    foo = "";
?>

根据您使用的内容,您最终会得到不同的值。 isset()将返回 true,因为变量 foo 设置为无。但是!empty将返回 false,因为变量 foo 不包含任何内容。基本上isset()只检查 NULL 值,其中!empty检查被视为 0 的所有内容(例如,NULL、0、0.0 等,但也将 0 作为字符串)。