1

我相信我isset对 PHP 中的函数有点困惑。我正在尝试使用此函数来确定表单中的字段是否是null...我的印象是该isset函数会检查字段中是否有值...但我相信该isset函数仅确定是否传递给它的东西是存在的。

例如。

如果我有一个 name 属性设置为“day”的表单输入字段。我会isset($_GET['day']);用来确定表单输入字段是否不是null?或者isset只是检查'day'是否存在而不检查它通过的那个值?

任何帮助都会很棒!谢谢!

4

3 回答 3

5

从 PHPisset()页面:

[isset() 确定] 变量是否已设置且不为 NULL。

这意味着:

$var1;
$var2 = NULL;
$var3 = 0;
$var4 = 'test';
isset($var1); //false
isset($var2); //false
isset($var3); //true; note that if($var3) still returns false
isset($var4); //true
isset($var0); //false

总结一下,如果变量未设置(因此是函数名称)或包含作为值,则isset()返回。要返回 true,变量必须既存在又包含实际值(包括布尔值)。FALSENULLisset()false

在您的情况下$_GET['day'],您可以使用isset()来检查一个值是否已实际传递给它(即,它不为空)。

于 2012-07-22T04:50:41.170 回答
3

Isset 只检查是否定义了变量。用于empty知道它是 null 还是 undefined 或类似的东西。

if(!empty($_GET['day']))
    //Stuff
于 2012-07-22T04:17:27.480 回答
0

完全正确,isset() 函数只是检查变量“day”是否存在。为了检查值是否存在或为空,您必须使用 empty() 函数。

于 2012-07-22T04:18:06.267 回答