在学习isset()时,看到了这句话:“如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节(”\0″)并不等同于 PHP 的 NULL 常数”。那么问题来了,什么是NULL字节(“\0”)? 它和NULL常数有什么区别呢??
NULL 字节是变量为空 $t = ”; 变量有值,不过是空,isset()是TRUE
NULL 常数是$t=null; 变量没有值,没有分配存储空间,isset()是FALSE
测试一下:
$a = ''; var_dump(isset($a)); echo "</br>"; unset($a); var_dump($a); echo "</br>"; $b = null; var_dump(isset($b));
运行结果如下:
boolean true
null
boolean false