Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php isset()和之间有什么不同!空的_Php - Fatal编程技术网

Php isset()和之间有什么不同!空的

Php isset()和之间有什么不同!空的,php,Php,我想知道isset()和之间有什么不同!空的 我知道isset()测试变量是否已设置且不为null,而 empty()当变量设置为某些值时,可以返回true 但是从逻辑上讲,当isset()不为空(不使用“empty()”)时,text或textarea中有一个变量,因此我们不需要empty()这两个语句之间的差异非常小,但足够大,不会出现错误。当您声明这样的变量时: <?php foo = ""; ?> 根据您使用的内容,最终会得到不同的值isset()将返回true

我想知道
isset()
之间有什么不同!空的

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


但是从逻辑上讲,当
isset()
不为空(不使用“empty()”)时,text或textarea中有一个变量,因此我们不需要
empty()
这两个语句之间的差异非常小,但足够大,不会出现错误。当您声明这样的变量时:

<?php
    foo = "";
?>


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

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

foo=”“将使isset()返回true,但是!空将返回false。变量foo设置为nothing,但仍然设置为nothing。它没有这样的内容!empty将返回false。我还将向您指出这些函数的PHP文档。他们应该非常清楚不同的变量类型/值如何响应每个函数。这段代码非常复杂
变量a已设置,但在empty看来它是空的。您可以使用regex“^$”(空)来测试这种东西。