if(!isset($lichi)){
                echo'未定义';
                if(empty($lichi)){
                    echo '未定义的显示为空的';//最终会走到这来
                }
            }
 
 手册类型比较表
![]()
empty为真
$x = "";
$x = null;
var $x;
$x is undefined
$x = array();
$x = false;
$x = 0;
$x = "0";
empty为假:
$x = "false";
$x = "true";
$x = "php";
$x = "-1";
$x = "1";
$x = -1;
$x = 42;
$x = 1;
$x = true;
数组 
array() 在isset中为 真
空 
'' 在isset中为 真
空 
' ' 在isset中为 真
null 
在isset中为 假
'0' 
在isset中为 真
'1' 
在isset中为 真
0 
在isset中为 真
1 
在isset中为 真
除了0和1的数字 
在isset中为 真
字符串 
在isset中为 真
不存在或者没定义的变量 
在isset中为 假
empty()
以下的东西被认为是空的:
"" (空字符串)
0 (作为整数的0)
0.0 (作为浮点数的0)
"0" (作为字符串的0)
NULL
FALSE
array() (一个空数组)
$var; (一个声明了,但是没有值的变量)
 
空数组 
array() 在empty中为 真
空 
'' 在empty中为 真
空 
' ' 在empty中为 假
null 
在empty中为 真
'0' 
在empty中为 真
'1' 
在empty中为 假
0 
在empty中为 真
1 
在empty中为 假
除了0和1的数字 
在empty中为 假
字符串 
在empty中为 假
不存在或者没定义的变量 
在empty中为 真
空数组 
array() 在is_null中为 假
空 
'' 在is_null中为 假
空 
' ' 在is_null中为 假
null 
在is_null中为 真
'0' 
在is_null中为 假
'1' 
在is_null中为 假
0 
在is_null中为 假
1 
在is_null中为 假
除了0和1的数字 
在is_null中为 假
字符串 
在is_null中为 假
Notice: 
Undefined variable: exit in D:\xampp\htdocs\atest\php\autoload\autoload2.php on 
line 138
不存在或者没定义的变量 
在is_null中为真
$variable=array('isset','empty','is_null');
$_map=array();
$kong='';
$kong2=' ';
$null=NULL;
$specal0 = '0';
$specal1 = '1';
$zero=0;
$one=1;
$num= 5;
$var='youzhi';
foreach ($variable as $value) {
    switch ($value)
    {
        case 'isset':
            if(isset($_map)){
                echo '空数组 array() 在isset中为  真<br />';
            }else{
                echo '空数组 array() 在isset中为  假<br />';
            }
            if(isset($kong)){
                echo '空 \'\' 在isset中为  真<br />';
            }else{
                echo '空 \'\' 在isset中为  假<br />';
            }
            if(isset($kong2)){
                echo '空 \' \' 在isset中为  真<br />';
            }else{
                echo '空 \' \' 在isset中为  假<br />';
            }
            if(isset($null)){
                echo 'null 在isset中为  真<br />';
            }else{
                echo 'null 在isset中为  假<br />';
            }
            if(isset($specal0)){
                echo ' \'0\' 在isset中为  真<br />';
            }else{
                echo ' \'0\' 在isset中为  假<br />';
            }
            if(isset($specal1)){
                echo ' \'1\' 在isset中为  真<br />';
            }else{
                echo ' \'1\' 在isset中为  假<br />';
            }
            if(isset($zero)){
                echo '0 在isset中为  真<br />';
            }else{
                echo '0 在isset中为  假<br />';
            }
            if(isset($one)){
                echo '1 在isset中为  真<br />';
            }else{
                echo '1 在isset中为  假<br />';
            }
            if(isset($num)){
                echo '除了0和1的数字 在isset中为  真<br />';
            }else{
                echo '除了0和1的数字 在isset中为  假<br />';
            }
            if(isset($var)){
                echo '字符串 在isset中为  真<br />';
            }else{
                echo '字符串 在isset中为  假<br />';
            }
            if(isset($exit)){
                echo '不存在或者没定义的变量 在isset中为  真<br /><br />';
            }else{
                echo '不存在或者没定义的变量 在isset中为  假<br /><br />';
            }
            break;
        case 'empty':
            if(empty($_map)){
                echo '空数组 array() 在empty中为  真<br />';
            }else{
                echo '空数组 array() 在empty中为  假<br />';
            }
            if(empty($kong)){
                echo '空 \'\' 在empty中为  真<br />';
            }else{
                echo '空 \'\' 在empty中为  假<br />';
            }
            if(empty($kong2)){
                echo '空 \' \' 在empty中为  真<br />';
            }else{
                echo '空 \' \' 在empty中为  假<br />';
            }
            if(empty($null)){
                echo 'null 在empty中为  真<br />';
            }else{
                echo 'null 在empty中为  假<br />';
            }
            if(empty($specal0)){
                echo ' \'0\' 在empty中为  真<br />';
            }else{
                echo ' \'0\' 在empty中为  假<br />';
            }
            if(empty($specal1)){
                echo ' \'1\' 在empty中为  真<br />';
            }else{
                echo ' \'1\' 在empty中为  假<br />';
            }
            if(empty($zero)){
                echo '0 在empty中为  真<br />';
            }else{
                echo '0 在empty中为  假<br />';
            }
            if(empty($one)){
                echo '1 在empty中为  真<br />';
            }else{
                echo '1 在empty中为  假<br />';
            }
            if(empty($num)){
                echo '除了0和1的数字 在empty中为  真<br />';
            }else{
                echo '除了0和1的数字 在empty中为  假<br />';
            }
            if(empty($var)){
                echo '字符串 在empty中为  真<br />';
            }else{
                echo '字符串 在empty中为  假<br />';
            }
            if(empty($exit)){
                echo '不存在或者没定义的变量 在empty中为  真<br /><br>';
            }else{
                echo '不存在或者没定义的变量 在empty中为  假<br /><br />';
            }
            break;
        case 'is_null':
            if(is_null($_map)){
                echo '空数组 array() 在is_null中为  真<br />';
            }else{
                echo '空数组 array() 在is_null中为  假<br />';
            }
            if(is_null($kong)){
                echo '空 \'\' 在is_null中为  真<br />';
            }else{
                echo '空 \'\' 在is_null中为  假<br />';
            }
            if(is_null($kong2)){
                echo '空 \' \' 在is_null中为  真<br />';
            }else{
                echo '空 \' \' 在is_null中为  假<br />';
            }
            if(is_null($null)){
                echo 'null 在is_null中为  真<br />';
            }else{
                echo 'null 在is_null中为  假<br />';
            }
            if(is_null($specal0)){
                echo ' \'0\' 在is_null中为  真<br />';
            }else{
                echo ' \'0\' 在is_null中为  假<br />';
            }
            if(is_null($specal1)){
                echo ' \'1\' 在is_null中为  真<br />';
            }else{
                echo ' \'1\' 在is_null中为  假<br />';
            }
            if(is_null($zero)){
                echo '0 在is_null中为  真<br />';
            }else{
                echo '0 在is_null中为  假<br />';
            }
            if(is_null($one)){
                echo '1 在is_null中为  真<br />';
            }else{
                echo '1 在is_null中为  假<br />';
            }
            if(is_null($num)){
                echo '除了0和1的数字 在is_null中为  真<br />';
            }else{
                echo '除了0和1的数字 在is_null中为  假<br />';
            }
            if(is_null($var)){
                echo '字符串 在is_null中为  真<br />';
            }else{
                echo '字符串 在is_null中为  假<br />';
            }
            if(is_null($exit)){
                echo '不存在或者没定义的变量 在is_null中为  真<br />';
            }else{
                echo '不存在或者没定义的变量 在is_null中为  假<br />';
            }
            break;
        default:
            # code...
            break;
    }
}