我相信我对PHP中的isset
函数有点困惑。我正在尝试使用此函数来确定表单中的字段是null
...我的印象是isset
函数检查字段中是否有值。 ..但我相信isset
函数只能确定传递给它的东西是否存在。
例如。
如果我有一个表单输入字段,其name属性设置为“day”。我会使用isset($_GET['day']);
来确定表单输入字段是否不是null
?或者isset
只是检查“日期”是否存在并且没有检查它传递的值?
任何帮助都会很棒! 谢谢!
答案 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()函数。