May
23
2013
php中empty,is_null,isset的区别详解
作者:
绝缘体.. 发布:
2013-05-23 09:26 分类:
未分类 阅读:
抢沙发
PHP中有很多功能类似的函数,却有着细微的差别,正如本篇文章所有分析的 is_null,empty,isset 三个函数,不费一番功夫,还真不容易真正的搞懂额!下面跟随站长来具体的了解一下这三个函数的区别吧!
我们先来看看这3个函数的功能描述
isset 判断变量是否已存在,如果变量存在则返回 TRUE,否则返回 FALSE。
empty 判断变量是否为空,如果变量是非空 或非零 的值,则 empty() 返回 FALSE。换句话说,”” 、0 、”0″ 、NULL 、FALSE 、array() 、var $var; 以及没有任何属性的对象 都将被认为是空的,如果变量为空,则返回 TRUE。
is_null 判断变量是否为NULL
怎么样,一般的都是这种解释,但这种解释已经很让人迷糊了,下面结合具体的例子来分析吧!

从中我们可以发现只要变量是””或者0,或者是false和null,只要是这些值empty都会返回true。
isset只是判断变量是否存在,只要你这个变量不是null或未赋值,返回结果都是true。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节(”