首页 > 编程 > PHP > 正文

PHP中empty和isset的区别有什么

2020-03-22 18:03:46
字体:
来源:转载
供稿:网友
  • php
    html' target='_blank'>class test{}
    $a1 = null;
    $a2 = "";
    //$a3 =
    $a4 = 0;
    $a5 = '0';
    $a6 = false;
    $a7 = array();
    //var $a8;
    $a9 = new test();
    for ($i=1; $i 9 ; $i++) {
    $s = 'a'.$i;
    echo $i . ":";
    var_dump(isset($$s));
    echo '';
    }
    echo '';
    for ($i=1; $i 9 ; $i++) {
    $s = 'a'.$i;
    echo $i . ":";
    var_dump(empty($$s));
    echo '';
    }

    PS:PHP中empty()和isset()的区别
    对于初学php的人来说,empty()和和isset()用法的区别是很难搞清楚的,他们的用法的差别不仔细去琢磨的话确实很难弄清楚。
    先说一下他们的共同点:
    都可以判定一个变量是否为空;
    都返回boolean类型,即true或false。
    下面具体说一下他们用法之间的区别:
    isset()用来检测变量是否设置,只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined() 函数。如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。(注意的是一个 NULL 字节("")并不等同于 PHP 的 NULL 常数)
    empty()用来检查一个变量是否为空。
    他们之间最大的区别就是对于0的判断,若用empty判断会认为是空,用isset则认为不为空,举个例子:
    php
    var $a=0;
    //empty($a)返回true
    if(empty($a)){
    echo "判断结果是空"
    }
    //isset($a)返回true
    if(isset($a)){
    echo "判断结果不是空"
    }
    ?>

    PHP编程

    郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

  • 发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表