PHP中empty,isset,is_null用法和区别

2018-09-07 21:39

阅读:213

  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():

  
当参数满足下面三种情况时,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


评论


亲,登录后才可以留言!