<?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

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

isset,empty,is_null小知识的更多相关文章

  1. php中函数 isset(), empty(), is_null() 的区别,boolean类型和string类型的false判断

    php中函数 isset(), empty(), is_null() 的区别,boolean类型和string类型的false判断 实际需求:把sphinx返回的结果放到ssdb缓存里,要考虑到sph ...

  2. php之isset empty is_null的区别

    isset:当前变量没有设置(即不存在),或者变量设置为null的时候,返回true,设置为“”或者0 都是返回的true empty:变量不存在,设置值为null,设置为“”,设置为0 都返回tru ...

  3. isset ,empty,is_null 区别

    <?php $a = ''; $b = ""; $c = null; $d = array(); $e = ' '; $f = 0; $g = "0"; ...

  4. php中函数 isset(), empty(), is_null() 的区别

    NULL:当你在你的脚本中写下这样一行代码 $myvariable; //此处你想定义一个变量,但未赋值.会有Notice: Undefined variable echo $myvariable + ...

  5. php中empty(), is_null(), isset()函数区别

    empty(), is_null(), isset()真值表(区别) 我们先来看看这3个函数的功能描述 www.111cn.net isset 判断变量是否已存在,如果变量存在则返回 TRUE,否则返 ...

  6. php中empty(), is_null(), isset()函数区别(转)

    empty(), is_null(), isset()真值表(区别)   我们先来看看这3个函数的功能描述 www.111cn.net isset 判断变量是否已存在,如果变量存在则返回 TRUE,否 ...

  7. php中empty()、isset()、is_null()和变量本身的布尔判断区别(转)

    在php脚本中,我们经常要去判断一个变量是否已定义或者是否为空,就需要用到这些函数empty().isset().is_null()和其本身作为参数,下面小段程序做个简要比较 <?php//预定 ...

  8. PHP细节,empty,is_null,isset,if()

    以下内容转载自http://wuxinjie.github.io/php-04/ 从下表可知,empty与if()完全相反,is_null与isset完全相反 isset是语句,is_null是函数, ...

  9. php中empty(),isset(),is_null(),==,===区别

    有关 PHP 的 empty(),isset() 还有 is_null() 这三个函数的用法讨论得已经很多了,而且很多资料也未必能说得很清楚.这里再重复一次,但不是从概念去说,直接用程序例子来说话,应 ...

随机推荐

  1. CF 518D(概率dp)

    传送门:Ilya and Escalator 题意:有n个人排队进车厢,每秒只能进一个人,而且第1个人进了后面的人才能进,第一个人每秒进入车厢的概率为p,不进的概率为1-p,求t秒后进入车厢总人数的数 ...

  2. 杭州电ACM1098——Ignatius&#39;s puzzle

    这个话题.简单的数学. 对于函数,f(x)=5*x^13+13*x^5+k*a*x,输入k,对于休闲x,一个数字的存在a,使f(x)是65可分. 对于休闲x. 因此,当x = 1时间,f(x) = 1 ...

  3. Java学习之道:Java中十个常见的违规编码

    近期,我给Java项目做了一次代码清理工作.经过清理后,我发现一组常见的违规代码(指不规范的代码并不表示代码错误)反复出如今代码中.因此,我把常见的这些违规编码总结成一份列表,分享给大家以帮助Java ...

  4. ARM体系结构与编程

    ARM处理器的7中执行模式:usr.fiq.irq.svc.abt.und.sys. ARM处理器共37个寄存器:31个通用寄存器(未备份寄存器R0-R7,在全部模式下指的都是同一个物理寄存器:备份寄 ...

  5. android移植pppoe拨号上网的全过程

    硬件环境:Tiny6410开发板 软件环境:fedora14 + Android 2.3.4 + linux-2.6.36 所需资源:rp-pppoe-3.11.tar.gz http://www.r ...

  6. HDU3537-Daizhenyang&#39;s Coin(博弈SG-打表)

    <span style="color: green; font-family: Arial; font-size: 12px; background-color: rgb(255, 2 ...

  7. c语言来实现c++

    闲来没事,看了看sqlite的源代码,突然想用c实现c++,写了例如以下demo,自我感觉不错 #include <stdio.h> #include <stdlib.h> s ...

  8. Android中的动画具体解释系列【1】——逐帧动画

    逐帧动画事实上非常easy,以下我们来看一个样例: <?xml version="1.0" encoding="utf-8"?> <anima ...

  9. linux进程解析--进程的退出及销毁

    一进程的退出: 当一个进程运行完毕或者因为触发系统异常而退出时,最终会调用到内核中的函数do_exit(),在do_exit()函数中会清理一些进程使用的文件描述符,会释放掉进程用户态使用的相关的物理 ...

  10. session深入解读

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:尽管session机制在web应用程序中被採用已经非常长时间了.可是仍然有非常多人不清楚 ...