<?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. [Linux]Centos git报错fatal: HTTP request failed

    在使用git pull.git push.git clone会报类似例如以下的错误: error: The requested URL returned error: 401 Unauthorized ...

  2. Android的编译系统

    一.Makefile的主要流程   以下主要流程都在build/core/main.mk里安排.   l  初始化相关的参数设置(buildspec.mk.envsetup.mk.config.mk) ...

  3. poj1243(经典dp)

    题目链接:http://poj.org/problem?id=1243 题意:让你猜一个物品的价格,猜低了或者猜高了都会提示你.G,L,表示你有G次机会猜一个数,如果猜错了,G会减少1次,如果你的错误 ...

  4. 复习面向对象的OOA、OOD、OOP

    复习 OOA.OOD.OOP OOA Object-Oriented Analysis:面向对象分析方法 是在一个系统的开发过程中进行了系统业务调查以后,依照面向对象的思想来分析问题. OOA与结构化 ...

  5. MySQL中Procedure事务编写基础笔记

    原文:MySQL中Procedure事务编写基础笔记 目录: 一.PROCEDURE: 二.CREATE PROCEDURE基本语法: 三.PROCEDURE小进阶   3.1.基本的DECLARE语 ...

  6. poj 3265 Problem Solving dp

    这个题目容易让人误以为是贪心就可以解决了,但是细想一下很容易举出反例. dp[i][j]表示解决了i个问题,最后一个月解决的问题数目. #include <iostream> #inclu ...

  7. HGE基础教程

    作者:寰子 来源:http://www.hgechina.com/前言: 写道: 无意中发现了hge中文社区,听朋友介绍,认识了hge,然后开始对它进行研究,并使用hge开始制作游戏. 因为我所得的资 ...

  8. Redshift扩容及踩到的坑

    下午发现redshift集群已经没有什么空间了.删掉一些不须要的暂时表也仅仅降到86%左右,为了能放下这两天的数据必须扩容了 watermark/2/text/aHR0cDovL2Jsb2cuY3Nk ...

  9. UML之部署图(Deployment Diagram)

    计算机系统由硬件和软件组成,应用软件的命令,先转化为操作系统命令,再转化为汇编语言,最后再转化为二进制命令,由硬件来运行.软件要部署到硬件上才具有生命.Deployment Diagram展示的就是把 ...

  10. 世纪互联、微软Azure与无穷小微积分

              今年9月25日,世纪互联正式开通微软Azure商用服务,有感.          我是世纪互联创业历程的见证人(之中的一个),现在看到世纪互联推出微软Azure公有云的商用服务,心 ...