博客列表 >PHP中空字符串介绍0、null、empty和false之间的关系

PHP中空字符串介绍0、null、empty和false之间的关系

董辉哦呵呵
董辉哦呵呵原创
2018年03月12日 11:59:23706浏览

0是数字,是empty,是false,不是null,值相当于空字符串,但类型不是字符串,去空格或强制转换为字符串型时不等于空字符串

""的值相当于0,是empty,是空字符串,是false,不是null,不是数字字符串

null的值相当于空字符串,值相当于0,是empty,是false,不是字符串,不是数字0


该值由字符串最前面的部分决定。如果字符串以合法的数字数据开始,就用该数字作为其值,否则其值为 0(零)。


"=="只要值相等就满足条件;  "==="需要两个变量的值和类型都相等;

strval();将变量转换为字符串类型;

intval();将变量转换为整型;

is_numeric();检测变量是否为数字或数字字符串,返回true或false;

// 判断 0 与 ''、null、empty、false 之间的关系   
$a = 0;   
echo "0 与 ''、 empty、null、false 之间的关系:";   
  
if($a == '')  
{   
    echo "0 == '';";   
}  
else  
{   
    echo "0 != '';";   
}   
  
if(trim($a) == '')  
{   
    echo "trim(0) == '';";   
}  
else  
{   
    echo "trim(0) != '';";   
}   
  
if(strval($a) == '')  
{   
    echo "strval(0) == '';";   
}  
else  
{   
    echo "strval(0) != '';";   
}   
//0=='',trim(0)!='',strval(0)!='' 不是空字符串  
  
if($a === '')  
{   
    echo "0 === '';";   
}  
else  
{   
    echo "0 !=== '';";   
}   
//0!===''  
  
if(empty($a))  
{   
    echo "0 is empty;";   
}  
else  
{   
    echo "0 is not empty;";   
}   
//0 is empty  
  
if(is_null($a))  
{   
    echo "0 is null;";   
}  
else  
{   
    echo "0 is not null;";   
}   
//0 is not null  
  
if(is_numeric($a))  
{   
    echo "0 is numeric;";   
}  
else  
{   
    echo "0 is not numeric;";   
}   
//0 is not numeric  
  
if(is_string($a))  
{   
    echo "0 is string;";   
}  
else  
{   
    echo "0 is not string;";   
}   
//0 is not string  
  
if(!$a)  
{   
    echo "0 is false;";   
}  
else  
{   
    echo "0 is not false;";   
}   
//0 is false  
  
// 判断 '' 和 0、null、empty、false 之间的关系   
$a = '';   
echo "'' 和 0、empty、null、false 之间的关系:";   
if($a == 0)  
{   
    echo "'' == 0;";   
}  
else  
{   
    echo "'' != 0;";   
} 
//== 0;  
  
if(intval($a) == 0)  
{   
    echo "intval('') == 0;";   
}  
else  
{   
    echo "intval('') != 0;";   
} 
//intval('') == 0;  
  
if(empty($a))  
{   
    echo "'' is empty;";   
}  
else  
{   
    echo "'' is not empty;";   
} 
//'' is empty;

if(is_null($a))  
{   
    echo "'' is null;";   
}  
else  
{   
    echo "'' is not null;";   
}  
//'' is not null; 
  
if(is_numeric($a))  
{   
    echo "'' is numeric;";   
}  
else  
{   
    echo "'' is not numeric;";   
}  
//'' is not numeric;
   
if(is_string($a))  
{   
    echo "'' is string;";   
}  
else  
{   
    echo "'' is not string;";   
}   
//'' is string;
  
if(!$a)  
{   
    echo "'' is false;";   
}  
else  
{   
    echo "'' is not false;";   
}   
//'' is false;
  
// 判断 null 和 ''、0、empty、false 之间的关系   
$a = null;   
echo "null 和 ''、0、empty、false 之间的关系:";   
if($a == '')  
{   
    echo "null == '';";   
}  
else  
{   
    echo "null != '';";   
}  
//null == '';
   
if($a == 0)  
{   
    echo "null == 0;";   
}  
else  
{   
    echo "null != 0;";   
}   
//null == 0;
  
if($a === '')  
{   
    echo "null === '';";   
}  
else  
{   
    echo "null !=== '';";   
}  
//null !=== ''; 
  
if($a === 0)  
{   
    echo "null === 0;";   
}  
else  
{   
    echo "null !=== 0;";   
}   
//null !=== 0;
  
if(strval($a) == '')  
{   
    echo "strval(null) == '';";   
}  
else  
{   
    echo "strval(null) != '';";   
}  
//strval(null) == ''; 
  
if(intval($a) == 0)  
{   
    echo "intval(null) == 0;";   
}  
else  
{   
    echo "intval(null) != 0;";   
}   
//intval(null) == 0;
  
if(empty($a))  
{   
    echo "null is empty;";   
}  
else  
{   
    echo "null is not empty;";   
}  
//null is empty; 
  
if(is_numeric($a))  
{   
    echo "null is numeric;";   
}  
else  
{   
    echo "null is not numeric;";   
}  
//null is not numeric; 
  
if(is_string($a))  
{   
    echo "null is string;";   
}  
else  
{   
    echo "null is not string;";   
}   
//null is not string;
  
if(!$a)  
{   
    echo "null is false;";   
}  
else  
{   
    echo "null is not false;";   
}
//null is false;


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议