因为empty()和isset(),在写判断条件的时候经常使用,所以必须清晰的理解透彻,才能保证代码健壮性。
PHP的变量在什么情况下值为空,三种:
1.通过赋值方式给变量赋值,但是没有给明确的值。
2.一个变量没有给任何值。
3.使用unset()函数销毁的变量。
例如:
$a="" ; $b=null;
var_dump($a);
var_dump($b);
var_dump($c);
$d="stringabc";
unset($d);
var_dump($d);
empty()与isset()区别
empty()可以向括号中间传入一个变量。这个变量的值如果为false或者为null的话,返回true。
<?php
$a=null;
if(empty($a)){
echo '这是条件为真';
}else{
echo '这是条件为假';
}
?>
isset()函数
isset()可以向括号中间传入一个或者多个变量,变量与变量间用逗号分开。只要有有一个变量为null,则返回false。否则,则返回true。
<?php//传入一个变量
$a=false;
$b=isset($a);
var_dump($b);
echo "<hr/>";
//传入多个变量
$b=10;
$c=false;
$d=null;
$e=isset($b,$c,$d); //多个参数之间的关系,可以为相乘的关系 1*0=0。
var_dump($e);
echo PHP_VERSION;
echo __LINE__;
?>