工作中的马虎

今天写了一个验证表单提交的函数,

但测试去发现没有起到作用.

就仔细的看了看,

//验证提交信息是否为空
function validate($validateName) {
$validateName = trim($validateName);
//if(!empty($validateName)) {
if(isset($validateName)) {
echo “0”;
return $validateName;
}
else {
echo “1”;
throw new Exception(“validate error”);
}
}

其实这个是一个php很基础的东西了,

也是关于isset和empty的用法.

如果像我上面那样的话,

验证是失效的,

因为 $validateName = trim($validateName)

这句已经给变量赋值了,

再用isset检测就不行了.

这时需要用empty来检测.

如果没有那个trim赋值语句的话,

用isset是可以的.

这里附上isset和empty的说明:

两者都是测试变量用的
但是isset()是测试变量是否被赋值,而empty()是测试一个已经被赋值的变量是否为空
如果一个变量没被赋值就引用在php里是被允许的,但会有notice提示
如果一个变量被赋空值,$foo=””或者$foo=0或者 $foo=false,那么empty($foo)返回真,isset($foo)也返回真,就是说赋空值不会注销一个变量。
要注销一个变量,可以用 unset($foo)或者$foo=NULL

相关文章

发表评论

返回顶部