isset()和!empty之间有什么不同

时间:2015-02-02 15:28:31

标签: php

我想知道isset()!empty之间有什么不同?

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

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

差异非常小,但足以避免两个陈述出错。声明如下变量时:

<?php
    foo = "";
?>

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