PHP 变量处理函数

PHP empty() 函数检查变量是否为空。如果变量不存在或者其值等于 false,则该变量被视为空。以下值将计算为 false:

  • 0
  • 0.0
  • "0"
  • ""
  • NULL
  • FALSE
  • array()

如果变量被认为是空,则函数返回 true,否则返回 false。请注意,如果变量不存在,此函数不会生成任何警告。

语法

empty(variable) 

参数

variable必需。 指定要判断的变量。

返回值

如果变量为,则返回 true视为空,否则为 false。

示例:

下面的示例显示了 empty() 函数的用法。

<?php
var_dump(empty(NULL));    //返回:bool(true)
var_dump(empty($xyz));    //返回:bool(true)
var_dump(empty(0));       //返回:bool(true)
var_dump(empty('0'));     //返回:bool(true)
var_dump(empty(false));   //返回:bool(true)
var_dump(empty(''));      //返回:bool(true)
var_dump(empty(array())); //返回:bool(true)

echo "\n";

var_dump(empty(10));            //返回:bool(false)
var_dump(empty('xyz'));         //返回:bool(false)
var_dump(empty(true));          //返回:bool(false)
var_dump(empty(array(10, 20))); //返回:bool(false)
?> 

上述代码的输出将是:

bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)

bool(false)
bool(false)
bool(false)
bool(false) 

示例:

考虑下面的示例,其中此函数用于检查所有数组的元素是否被认为是空的。

<?php
$Arr = array($x, 10, null, false, true,
             '0', 0, "xyz", 0, array()); 

foreach ($Arr as $value) {
  echo "empty(".var_export($value, true).") = ";
  var_dump(empty($value));
}
?> 

上述代码的输出将是:

empty(NULL) = bool(true)
empty(10) = bool(false)
empty(NULL) = bool(true)
empty(false) = bool(true)
empty(true) = bool(false)
empty('0') = bool(true)
empty(0) = bool(true)
empty('xyz') = bool(false)
empty(0) = bool(true)
empty(array (
)) = bool(true)

PHP Warning:  Undefined variable $x in Main.php on line 2 

示例:

再考虑一个示例,该示例说明如何查找一个变量,该变量是为空但已设置。

<?php
$x = 0; 

//返回true,因为$x为空
if (empty($x)) {
  echo "Variable 'x' is empty.\n";
}

//当 $x 设置时返回 true
if (isset($x)) {
  echo "Variable 'x' is set.";
}
?> 

上述代码的输出将是:

Variable 'x' is empty.
Variable 'x' is set.