1、isset() —— 入参只能为变量,检测变量存在值并且不为NULL则返回true,否则返回false;
//isset(1);//参数不是变量发生错误 -- PHP Parse error: syntax error, unexpected T_LNUMBER

//未定义的变量
echo isset($no).'<hr>';//false

$var;
echo isset($var).'<hr>';//false

$var = NULL ;
echo isset($var).'<hr>'; //false

//以下几种情况都返回true
$var=0;
echo isset($var); //true
$var=-0.1;
echo isset($var); //true
$var="";
echo isset($var); //true

//与isset()对应的函数是unset(),unset()销毁一个变量后[可以回收内存],变量的isset()将返回false;
$var=123;
echo isset($var);//true
unset($var);//销毁变量
echo isset($var);//false

2、empty($var) -- [入参只能为变量] 判断变量值是否为空,当一个变量不存在或者值等同于FALSE,那么该变量则为空。

//empty(1);//参数不是变量发生错误 -- PHP Parse error: syntax error, unexpected T_LNUMBER

以下的东西被认为是空的【empty(x)返回TRUE】:
•"" (空字符串)
•0 (作为整数的0)
•0.0 (作为浮点数的0)
•"0" (作为字符串的0)
•NULL
•FALSE
•array() (一个空数组)
•$var; (一个声明了,但是没有值的变量)

注意:isset和empty是语言构造器而不是一个函数,不能被可变函数调用。 本质上与 !isset($var) || $var == false 等价

3、is_null 检测一个变量的值是否为null

//未定义变量$abc
var_dump(is_null($abc));//返回true 发生错误通知 Notice: Undefined variable

//声明了一个变量,未赋值
$abc;
var_dump(is_null($abc));//返回true Notice: Undefined variable

注意:以上两种情况,在PHP5.6中测试返回结果是true,但出现了错误通知!

$ok = null;
var_dump(is_null($abc));//返回true

//如何检测一个变量是否被声明且被赋值了 null ??

 1 function checkNull($a)
 2 {
 3 if(array_key_exists($a,$GLOBALS))
 4 {
 5 global $$a;
 6 if(is_null($$a))
 7 return true;
 8 }
 9 return false;
10 }
11 $test=null;
12 var_dump(checkNull("test"));//true
13 var_dump(checkNull("test1"));//false

转载于:https://www.cnblogs.com/trNote/p/7298623.html

php之isset() 、empty()、is_null()的区别相关推荐

  1. php 空函数,PHP 中函数 isset(), empty(), is_null() 的区别

    PHP 中函数 isset(), empty(), is_null() 的区别, 使用 PHP 进行开发的时候,经常会用到 isset(), empty(), is_null() 这几个函数对数据进行 ...

  2. empty()、isset()、is_null()的区别

    总结: 1. 变量有二种状态: 已声明, 未声明 2. 已声明的变量也有二种状态: 已赋值(初始化), 未赋值(未初始化) 3. 变量可能会被赋值类型: null, 空值, 非空值 3.1: null ...

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

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

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

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

  5. PHP的empty,isset和is_null区别

    PHP提供了三个用于测试变量值的函数,分别是isset(),empty(),is_null(),他们都返回布尔值,但是也有区别. 通过以下表格查看: 对比项  isset()方法 empty()方法 ...

  6. PHP is_null,empty以及isset,unset的区别

    1.empty 判斷一個變量是否為"空". null.false.00.0.'0′.』.為以上值的變量在檢測時都將返回true. 2.isset 判斷一個變量是否已經設置. 0.0 ...

  7. PHP中empty,is_null,isset中的异同和功能

    empty -- 检查一个变量是否为空 bool empty ( mixed var ) 如果 var 是非空或非零的值,则 empty() 返回 FALSE .换句话说,"" . ...

  8. isset,empty,is_null小知识

    <?php /** 在这项研究开始时,有那么多的人不能很好的运用isset,empty,is_null正确null,false等待值回报值做出正确的推理,在这里,我自己总结通过学习小知识,随后的 ...

  9. isset和empty有什么区别? (PHP面试题)

    1)如何检测一个变量是否被定义 : isset为假    1,直接定义为假   2,未定义变量为假  3,unset销毁的变量为false isset():检测一个变量是否被定义 2)如何检测一个变量 ...

  10. PHP ISThebestI是什么意思,php isset和is_null区别

    isset和is_null的功能几乎完全相反的一样.. 是不是isset就是一个is_null的相反的别名? 诶, 要说区别, 那还真的是很多~ 一切的不同都是因为: is_null是函数, isse ...

最新文章

  1. 干掉 RESTful!GraphQL 真香!
  2. TensorFlow基础2(张量)
  3. “我的开源项目被威胁了!”
  4. 使用RoundedBitmapDrawable快速生成圆角和圆形图片
  5. 成功更新至Win8.1 update
  6. 基于 Flink+Iceberg 构建企业级实时数据湖 | 附 PPT 下载
  7. [Linux]共享内存
  8. java break和return的区别_【java】break,continue和return区别
  9. python pso_利用python实现PSO算法优化二元函数
  10. web元件库、axure元件库、通用元件库、常用web组件、常用表单、框架、数据表单、导航栏、边框、图标、列表、日期时间选择器、评分组件、穿梭框、输入框、步骤条、图表组件、数据可视化、后台模板、时间轴
  11. oracle删除schema下所有对象,清空Schema中所有对象的步骤
  12. 手机疑似中毒,恢复到出厂设置也不管用,还好有RE文件浏览器
  13. 失败的过去式英文翻译_过去式用英语怎么说
  14. OC 5028B欧创芯原装,开关降压型大功率恒流驱动芯片
  15. 社区宽带繁忙是什么意思_沈阳附近长城宽带安装申请多少钱欢迎咨询_畅鹏城通讯...
  16. eighth week(1)
  17. leet198.打家劫舍
  18. 未来人工智能对人类的影响的利弊
  19. EXCEL2003版无法运行2007以上版本VBA程序
  20. 真无线蓝牙耳机哪个延迟最低?低延迟蓝牙耳机推荐

热门文章

  1. 利用display属性写的遮罩层
  2. Springboot-importSelector
  3. MyBatis入门基础(一)
  4. Linux认证复习题100道含答案
  5. php oop基础,php面向对象编程(oop)基础
  6. Redis:哨兵模式(针对某一模块,数据量有限)
  7. Spring IOC核心原理分析
  8. javascript来实现定时器
  9. 高铁车厢女童突然抽搐 护士为防其咬舌将手指放口中
  10. redis应用之——关注、被关注