函数EMPTY(0)和ISNULL(0)的返回值分别是什么

来源:百度知道 编辑:UC知道 时间:2024/06/16 00:36:04
我就是想知道是T还是F

在PHP中变量是以C语言的结构体来存储的,其中这个结构体有个zend_uchar type;这样的成员变量,他是用来保存变量的类型的。
于是"",false,NULL(null 不区分大小写)在===判定的时候以变量类型进行区分。

在下列情况下一个变量被认为是 NULL:

1.被赋值为 NULL。
2.尚未被赋值。
3.被 unset()。

注:unset() 销毁指定的变量。

unset() 在函数中的行为会依赖于想要销毁的变量的类型而有所不同。

如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。
如果您想在函数中 unset() 一个全局变量,可使用 $GLOBALS 数组来实现
更多请见php官方文档……

empty,isset,is_null 的区别:

empty,isset首先都会检查变量是否存在,然后对变量值进行检测。
而is_null 只是直接检查变量值,是否为null,因此如果变量未定义就会出现错误!

empty,isset输入参数必须是一个变量(php变量是以$字符开头的),而is_null输入参数只要是能够有返回值就可以。(常量,变量,表达式等)。
在php手册里面,对于他们解析是:empty,isset 是一个语言结构而非函数,因此它无法被变量函数调用。

empty

如果 变量 是非空或非零的值,则 empty() 返回 FALSE。
换句话说,""、0、"0"、NULL、FALSE、array()、var $var、未定义;
以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。

isset

如果 变量 存在(非NULL)则返回 TRUE,否则返回 FALSE(包括未定义)。
变量值设置为:null,返回也是false