• Isset、empty、count、is_null的比较


    1、empty判断变量是否为空,
    先把变量转为布尔值再返回;对变量(字符串、数组等)赋值为一切为空的值、或者未定义的变量都返回true,即判断为空,比如null,‘ ’,0,array(),false,
    2、isset判断变量是否定义,
    对赋值为null 和 未定义的变量返回false,即判断未定义;其他情况,只要变量做了定义声明,统统返回rue,即判断已经定义,无论赋值与否,或者赋值为‘’,0,array(),false等,
    3、count对变量值计数,
    对赋值为null 和 未定义的变量计数为0,空数组也为0。
    4、当变量未定义 或 赋值为 null 时,is_null()返回 true,及判断为 null值;其他情况皆为 false,即判断非null值。

      综合来看
    
        (1)如果变量未定义,empty 返回 true ,即判断为空;isset 返回false ,即判断未定义;count 返回0,即个数为0;
        (1.1)唯独count会报警告错误。
        (2)如果变量赋值null,结果同(1);可见,php变量赋值null,就可以看做清空以及销毁。 
        (3)is_null ()是最基础的判断。
        (4)在php手册里面,对于他们解析是:empty,isset 是一个语言结构而非函数。
    
       empty、count 就变量类型来看
    
        (1)数组:定义为空数组 array();$emptyArray = array();empty 返回 true ,即判断为空;count 返回0,即个数为0。特别强调,array(0)、array(false)、array(‘’)、array(null)
            等元素特殊的数组,和非特殊元素的数组是一样的。
    
        (2)其他变量:当赋值为null,‘ ’,0,false等空值时,empty返回true,即判断为空,count计数1。
    
       特别的是:0 和‘0’在PHP里面都是判断都是false。
  • 相关阅读:
    今天辞职了
    数据库导出Excel
    2009.5重庆之行(二),5.23
    SQL远程连接操作
    上周入手WD500GB笔记本硬盘,上图
    [测试]Gridview绑定SqlDataReader+IList<T>和SqlDataAdapter+DataSet的效率
    SQL处理表重复记录(查询和删除)
    数据库导出excel (二)
    写了一个简单的手机号码正则
    SET XACT_ABORT 与 SET NOCOUNT的语法
  • 原文地址:https://www.cnblogs.com/ccdv/p/12188503.html
Copyright © 2020-2023  润新知