• isset,empty,is_null小知识


    <?php
    /**
    在这项研究开始时,有那么多的人不能很好的运用isset,empty,is_null正确null,false等待值回报值做出正确的推理,在这里,我自己总结通过学习小知识,随后的知识
    */
    //1.设定数据类型,举例经常使用到的类型
    $a;
    $b = false;
    $c = '';
    $d = 0;
    $e = null;
    $f = array();

    //2.分别针对不同的函数进行測试以上的数据类型返回值。用var_dump()打印,print_r有差别的。项目中你就知道了!

    //2.1下面上对empty()函数的打印
    var_dump(empty($a));    //输出true
    var_dump(empty($b));    //输出true
    var_dump(empty($c));    //输出true
    var_dump(empty($d));    //输出true
    var_dump(empty($e));    //输出true
    var_dump(empty($f));    //输出true
    //分析:仅仅要数据类型是否为空或假,empty()就输出true

    //2.2对isset进行数据返回类型測试
    var_dump(isset($a));    //输出false
    var_dump(isset($b));    //输出true
    var_dump(isset($c));    //输出true
    var_dump(isset($d));    //输出true
    var_dump(isset($e));    //输出false
    var_dump(isset($f));    //输出true
    /**分析:1.isset()仅仅能用来推断是否为NULL和没有定义。假设想检測变量是否已经定义。那么能够使用defined()函数。
             2.假设要推断一个变量是否被设置(声明),使用isset
             3.假设要推断一个变量赋值而且不为空。使用empty
             4.假设要推断一个变量被设置而且不为空,能够先使用isset,然后使用empty
    */


    //2.3对is_null返回值类型測试
    var_dump(is_null($a));    //输出true,可是出现没有定义,由于错误级别的原因
    var_dump(is_null($b));    //输出false
    var_dump(is_null($c));    //输出false
    var_dump(is_null($d));    //输出false
    var_dump(is_null($e));    //输出true
    var_dump(is_null($f));    //输出false
    /**
    分析:仅仅是用来推断是否为空和没有定义,使用方法与iset基本一样
    */
    变量                             empty             is_null             isset
    $a=""                              true               false              true
    $a=null                           true               true               false
    var $a                             true               true               false
    $a=array()                          true               false              true
    $a=false                            true               false              true
    $a=10                             false              false              true
    $a=1                             false              false              true
    $a=0                               true               false              true
    $a=""                             true               false              true
    $a="true"                           false              false              true
    $a="false"                         true               false              true


    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    EasyTransaction主要源码分析
    编程哲理小故事:Tina的运动会方阵
    多维扩展点的思考与设计——解决渠道、产品增加引发的腐化问题
    分布式事务框架Seata及EasyTransaction架构的比对思考
    设计,架构,框架之间是什么关系?
    你知道如何画好一幅架构图么?
    学会分享痛苦
    建立你自己的博客
    使用正确的工具软件
    掌握主动权
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4628316.html
Copyright © 2020-2023  润新知