php empty() 检查一个变量是否为空

empty — 检查一个变量是否为空

  

  Report a bug 描述

  bool empty ( mixed $var )

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

  除了当变量没有置值时不产生警告之外,empty() 是 (boolean) var 的反义词。参见转换为布尔值获取更多信息。

  Example #1 empty() 与 isset() 的一个简单比较。

  

复制代码 代码如下:

  <?php

  $var = 0;

  // 结果为 true,因为 $var 为空

  if (empty($var)) {

  echo '$var is either 0 or not set at all';

  }

  // 结果为 false,因为 $var 已设置

  if (!isset($var)) {

  echo '$var is not set at all';

  }

  ?>

  Note: 因为是一个语言构造器而不是一个函数,不能被 可变函数 调用。

  Note:

  empty() 只检测变量,检测任何非变量的东西都将导致解析错误。换句话说,后边的语句将不会起作用: empty(addslashes($name))。

  The following things are considered to be empty:

  "" (an empty string)

  0 (0 as an integer)

  0.0 (0 as a float)

  "0" (0 as a string)

  NULL

  FALSE

  array() (an empty array)

  var $var; (a variable declared, but without a value in a class)

  对"空数组"的理解:array() (an empty array)

  

复制代码 代码如下:

  <?php

  $array1=array();

  print_r($array1);

  if(empty($array1)){

  echo '对empty()来说是空数组(an empty array)';

  }

  else{

  echo '对empty()来说是非空数组(an noempty array)';

  }

  ?>

  //显示结果:######################

  Array

  (

  )

  //对empty()来说是an empty array

  ###############################

  <?php

  $array1=array();

  $array1[]='';

  print_r($array1);

  if(empty($array1)){

  echo '对empty()来说是空数组(an empty array)';

  }

  else{

  echo '对empty()来说是非空数组(an noempty array)';

  }

  ?>

  //显示结果:######################

  Array

  (

  [0] =>

  )

  //对empty()来说是非空数组(an noempty array)

  //###############################

  //这个并不是空数组,因为它有一个元素为空字符(""),要注意和空字符("" (an empty string))区别;