PHP中empty,isset,is_null用法和区别
1.empty用法
bool empty ( mixed var)
如果 var 是非空或非零的值,则 empty() 返回 false。换句话说,""、0、"0"、null、false、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 true
2.isset()
isset -- 检测变量是否设置
描述
bool isset ( mixed var [, mixed var [, ...]])
如果 var 存在则返回 true,否则返回 false。
如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 null 的变量,将返回 false。同时要注意的是一个 null 字节("0")并不等同于 php 的 null 常数。
注意:如果变量不存在,isset()和empty()都不会报错;is_null(),is_numeric()会报错
如何区别如下数组中 [0,'',null] 三个元素?(1)区别0:
$a = 0; isset($a) && is_numeric($a) === true
(2)区别''
$a = ''; empty($a) && $a=== ''
(3)区别null
$a = null; is_null($a);
另外在做表单提交的时候可能经常要检测一个变量是否存在,假如$_request['status'] = 0;使用empty($_request['status'])返回true,但是使用isset($_request['status']) 判断就不是空
3. is_null():
bool is_null ( mixed $var ) (php.net官方文档的函数定义)
当参数满足下面三种情况时,is_null()将返回true,其它的情况就是false
1、它被赋值为null
2、它还没有赋值
3、它未定义,相当于unset(),将一个变量unset()后,不就是没有定义吗
让我们来看一些例子:
$myvar = null; var_dump(is_null($myvar)); // true $myvar1; var_dump(is_null($myvar1)); // true notice: undefined variable $num = 520; unset($num); var_dump(is_null($num)); //true notice: undefined variable var_dump(is_null($some_undefined_var)); //true notice: undefined variable $myvar = 0; is_null($myvar); // false $myvar = false; is_null($myvar); // false $myvar = ''; is_null($myvar); // false
推荐阅读
-
PHP中empty,isset,is_null用法和区别
-
PHP中empty,isset,is_null用法和区别
-
php中替换字符串函数strtr()和str_repalce()的用法与区别
-
详解PHP中cookie和session的区别及cookie和session用法小结
-
深入理解PHP中的empty和isset函数
-
一张表搞清楚php is_null、empty、isset的区别,is_nullisset
-
php empty(), isset(), is_null()函数用法实例
-
PHP empty()与isset()与is_null()的区别
-
php中isset跟empty区别
-
一张表搞清楚php is_null、empty、isset的区别