php中isset()和empty()区别

1
isset()用于检测变量是否设置值

若变量不存在则返回 FALSE
若变量存在且其值为NULL,也返回 FALSE
若变量存在且值不为NULL,则返回 TURE
同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE

empty()用于检测变量是否为空

若变量不存在则返回 TRUE
若变量存在且其值为”“、0、”0”、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 TURE
若变量存在且值不为”“、0、”0”、null、false、array()以及没有任何属性的对象,则返回 FALSE

<?php
$s=null;
if(isset($s)){
    echo("true"."</br>");
}else{
    echo ("false"."</br>");  false
}
if(empty($s)){
    echo ("true"."</br>"); true
}else{
    echo ("false"."</br>");
}
$s=0;
if(isset($s)){
    echo("true"."</br>"); true
}else{
    echo ("false"."</br>");
}
if(empty($s)){
    echo ("true"."</br>"); true
}else{
    echo ("false"."</br>");
}

$s="";
if(isset($s)){
    echo("true"."</br>"); true
}else{
    echo ("false"."</br>");
}
if(empty($s)){
    echo ("true"."</br>"); true
}else{
    echo ("false"."</br>");
}

同时注意在判断查询数据库的返回值时,会返回影响行数,如果影响行数为0,则判定为false 所以这里应该用“===”判断

猜你喜欢

转载自blog.csdn.net/fileinput/article/details/70227103