PHP isset函数

时间:2012-07-22 04:14:07

标签: php

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

例如。

如果我有一个表单输入字段,其name属性设置为“day”。我会使用isset($_GET['day']);来确定表单输入字段是否不是null?或者isset只是检查“日期”是否存在并且没有检查它传递的值?

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

3 个答案:

答案 0 :(得分:5)

来自PHP isset()页面:

  

[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()如果未设置变量(因此是函数名称)或包含FALSE作为值,则返回NULL。要使isset()返回true,变量必须都存在并包含实际值(包括布尔false)。

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

答案 1 :(得分:3)

Isset只检查是否定义了变量。使用empty来确定它是否为null或未定义或类似的东西。

if(!empty($_GET['day']))
    //Stuff

答案 2 :(得分:0)

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