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