0,null,empty,空,false,isset

Posted 天涯alone

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了0,null,empty,空,false,isset相关的知识,希望对你有一定的参考价值。

<?php 
header("Content-type: text/html; charset=utf-8");

$a=0;
//1.
if($a==0)
{
	echo $a;
}else
{
	echo "不等0";
}
echo "<hr>";


//2.变量$a等0不为真
if($a)
{
	echo $a;
}else
{
	echo "不等0";
}
echo "<hr>";



//3.empty — 检查一个变量是否为空 
/*	如果 var 是非空或非零的值,则 empty() 返回 FALSE。
	换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE
	Note: empty() 只检测变量,检测任何非变量的东西都将导致解析错误。换句话说,后边的语句将不会起作用: empty(addslashes($name))。
*/
if(empty($a))
{
	echo $a;
}else
{
	echo "不等0";
}
echo "<hr>";


//4.null   0不等空
/*
特殊的 NULL 值表示一个变量没有值。NULL 类型唯一可能的值就是 NULL。

在下列情况下一个变量被认为是 NULL: 
? 被赋值为 NULL。 
? 尚未被赋值。 
? 被 unset()。

转换到 NULL
将一个变量转换为 null 类型将会删除该变量并且unset它的值。
*/

if($a=null)
{
	echo $a;
}else
{
	echo "不等0";
}
$b=null;
if($b==null)
{
	var_dump($b);
}else
{
	echo "没有值";
}
echo "<hr>";


//5.isset — 检测变量是否设置
/*

Note: 警告
isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined() 函数。 
*/

if(isset($a))
{
	echo $a;
}else
{
	echo "不等0";
}
echo "<hr>";

//6.is_null — 检测变量是否为 NULL 
/*
如果 var 是 null 则返回 TRUE,否则返回 FALSE。
*/



/*

结果:

0
不等0
0
不等0  NULL 
不等0


*/




 ?>

 

以上是关于0,null,empty,空,false,isset的主要内容,如果未能解决你的问题,请参考以下文章

PHP is_null,empty以及isset,unset的区别

PHP isset() empty() isnull() 的区别

php中0,空,null和false之间区别

到底是用0表示NULL,还是用NULL表示0

is_null, empty, isset, unset

PHP:empty()