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
*/
?>