zoukankan      html  css  js  c++  java
  • 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。
  • 相关阅读:
    postgreSQL官网对json的一些说明
    postgreSQL_jsonb中某一个键值对的修改操作
    redis基础
    failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
    012、时间、日期控件
    011、AutoCompleteTextView控件,具有自动提示功能的菜单
    010、Spinner使用
    009、使用ViewFlipper实现左右滑动事件
    008、不同程序的彼此调用
    007、判断手机操作系统是否允许运行程序
  • 原文地址:https://www.cnblogs.com/ccdv/p/12188503.html
Copyright © 2011-2022 走看看