PHP empty、isset、isnull的区别

empty

如果 变量 是非空或非零的值,则 empty() 返回 FALSE。换句话说,”"、0、”0″、NULL、FALSE、array()、var $var、未定义;以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。

isset

如果 变量 存在(非NULL)则返回 TRUE,否则返回 FALSE(包括未定义)。变量值设置为:null,返回也是false;unset一个变量后,变量被取消了。注意,isset对于NULL值变量,特殊处理。

is_null

检测传入值【值,变量,表达式】是否是null,只有一个变量定义了,且它的值是null,它才返回TRUE . 其它都返回 FALSE 【未定义变量传入后会出错!】

实例代码:

function response_data($data){
        $this->output->set_header(‘Content-Type: application/json; charset=utf-8‘);
        if(empty($data)){
            $data = array();
        }
        echo json_encode($data);
    }
时间: 2024-11-29 11:17:38

PHP empty、isset、isnull的区别的相关文章

empty() isset() isnull() 比较

有关 PHP 的 empty(),isset() 还有 is_null() 这三个函数的用法讨论得已经很多了,而且很多资料也未必能说得很清楚.这里再重复一次,但不是从概念去说,直接用程序例子来说话,应该记忆会比较深刻些. 测试的类型如下: ? 1 2 3 4 5 6 7 8 9 10 <?php $a; $b = false; $c = ''; $d = 0; $e = null; $f = array(); ?> empty() 首先是empty的var_dump输出: ? 1 2 3 4

isset()、empty()、is_NULL()的区别

1,当变量未定义时,is_null()和“参数本身”是不允许作为参数判断的,会报Notice警告错误: 2,empty,isset首先都会检查变量是否存在,然后对变量值进行检测.而is_null 和 “参数本身”只是直接检查变量值,是否为null,因此如果变量未定义就会出现错误! 3,if(empty($a))和if(!$a)效果基本一样的,"".0."0".NULL.FALSE.array(),未定义,均返回true: 4,isset():仅当null和未定义,返

php empty 和空字符串区别

php empty 和空字符串区别 如果 var 是非空或非零的值,则 empty() 返回 FALSE.换句话说,"".0."0".NULL.FALSE.array().var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE. 除了当变量没有置值时不产生警告之外,empty() 是 (boolean) var 的反义词. PHP中有很多函数功能类似,却有着细微的差别...is_null, empty, isset, uns

php的is_null+empty+isset+unset

empty,isset首先都会检查变量是否存在,然后对变量值进行检测.而is_null 只是直接检查变量值,是否为null,因此如果变量未定义就会出现错误! 以后: 检测一个变量是否是null 用:is_null,但如果变量未定义用它检测会出错.//判断null用is_null(),如果变量未定义,则报错 检测变量是否定义可以用:isset  ,但是如果一个变量值是:null, 则它会返回false . //判断变量是否定义,用isset,如果变量值是null则返回false empty 与 i

php empty,isset,is_null判断比较(差异与异同)

php empty,isset,is_null判断比较(差异与异同) 作者: 字体:[增加 减小] 类型:转载 做php开发时候,想必在使用:empty,isset,is_null 这几个函数时候,遇到一些问题.甚至给自己的程序带来一些安全隐患的bug.很多时候,对于isset,empty都认为差不多.因此开发时候,就没有注意,一段作为流程判断时候,就出现bug问题了. 一.举例说明 A.一个变量没有定义,我们该怎么样去判断呢 复制代码代码如下: <?php #不存在$test 变量 $isse

Rails :.nil? , .empty?, .blank? .present? 的区别

.nil? , .empty?, .blank? .present? 的区别 首先这三个都是判空的. 而 .nil? 和 .empty? 是ruby的方法. .blank? 是rails的方法 .nil?       判断对象是否存在(nil).不存在的对象都是nil的 .empty?  对象已经存在,判断是否为空字段,比如一个字符串是否为空串,或者一个数组中是否有值.有点像判断长度是否为零,呵呵 .blank?   相当于同时满足 .nil? 和 .empty? .railsAPI中的解释是如

String.Empty,NULL和&quot;&quot;的区别

String.Empty,NULL和""的区别 string.Empty就相当于"" 一般用于字符串的初始化 比如: string a; Console.WriteLine(a);//这里会报错,因为没有初始化a 而下面不会报错: string a=string.Empty; Console.WriteLine(a); 或者用于比较: if(a=="") if(a==string.Empty) 上面两句是一样的效果. string.Empty不分

jQuery源码之 empty与html(&#39;&#39;)的区别

empty: function() { var elem, i = 0; for ( ; (elem = this[i]) != null; i++ ) { // Remove element nodes and prevent memory leaks if ( elem.nodeType === 1 ) { //循环清除Data数据 jQuery.cleanData( getAll( elem, false ) ); } // 移除child while ( elem.firstChild

PHP&#160;empty、isset、isnull的区别&#160;

empty 如果变量是非空或非零的值,则 empty() 返回 FALSE.换句话说,"".0."0″.NULL.FALSE.array().var $var.未定义;以及没有任何属性的对象都将被认为是空的,如果var为空,则返回 TRUE. isset 如果变量存在(非NULL)则返回 TRUE,否则返回 FALSE(包括未定义).变量值设置为:null,返回也是false;unset一个变量后,变量被取消了.注意,isset对于NULL值变量,特殊处理. is_null