PHP null常量和null字节的区别

  在学习isset()时,看到了这句话:“如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NULL 常数”。那么问题来了,什么是NULL字节(“\0”)? 它和NULL常数有什么区别呢??

  NULL 字节是变量为空 $t = ''; 变量有值,不过是空,isset()是TRUE
  NULL 常数是$t=null; 变量没有值,没有分配存储空间,isset()是FALSE
测试一下:
1     $a = '';
2     var_dump(isset($a));
3     echo "</br>";
4     unset($a);
5     var_dump($a);
6     echo "</br>";
7     $b = null;
8     var_dump(isset($b));

  运行结果如下:

  

 

 



posted @ 2015-07-24 09:43  田硕旺  阅读(676)  评论(0编辑  收藏  举报